Lines Matching refs:handle
137 static acpi_status acpi_bus_offline(acpi_handle handle, u32 lvl, void *data, in acpi_bus_offline() argument
140 struct acpi_device *device = acpi_fetch_acpi_dev(handle); in acpi_bus_offline()
182 static acpi_status acpi_bus_online(acpi_handle handle, u32 lvl, void *data, in acpi_bus_online() argument
185 struct acpi_device *device = acpi_fetch_acpi_dev(handle); in acpi_bus_online()
206 acpi_handle handle = device->handle; in acpi_scan_try_to_offline() local
219 status = acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, in acpi_scan_try_to_offline()
224 acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, in acpi_scan_try_to_offline()
228 acpi_bus_offline(handle, 0, (void *)false, (void **)&errdev); in acpi_scan_try_to_offline()
231 acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, in acpi_scan_try_to_offline()
235 acpi_bus_offline(handle, 0, (void *)true, in acpi_scan_try_to_offline()
240 acpi_bus_online(handle, 0, NULL, NULL); in acpi_scan_try_to_offline()
241 acpi_walk_namespace(ACPI_TYPE_ANY, handle, in acpi_scan_try_to_offline()
325 acpi_handle handle = device->handle; in acpi_scan_hot_remove() local
339 acpi_handle_debug(handle, "Ejecting\n"); in acpi_scan_hot_remove()
343 acpi_evaluate_lck(handle, 0); in acpi_scan_hot_remove()
347 status = acpi_evaluate_ej0(handle); in acpi_scan_hot_remove()
357 status = acpi_evaluate_integer(handle, "_STA", NULL, &sta); in acpi_scan_hot_remove()
359 acpi_handle_warn(handle, in acpi_scan_hot_remove()
362 acpi_handle_warn(handle, in acpi_scan_hot_remove()
379 ret = acpi_bus_scan(adev->handle); in acpi_scan_rescan_bus()
435 acpi_evaluate_ost(adev->handle, ACPI_NOTIFY_EJECT_REQUEST, in acpi_generic_hotplug_event()
455 if (adev->handle == INVALID_ACPI_HANDLE) in acpi_device_hotplug()
493 acpi_evaluate_ost(adev->handle, src, ost_code, NULL); in acpi_device_hotplug()
606 static void acpi_scan_drop_device(acpi_handle handle, void *context) in acpi_scan_drop_device() argument
628 adev->handle = INVALID_ACPI_HANDLE; in acpi_scan_drop_device()
633 static struct acpi_device *handle_to_device(acpi_handle handle, in handle_to_device() argument
639 status = acpi_get_data_full(handle, acpi_scan_drop_device, in handle_to_device()
642 acpi_handle_debug(handle, "No context!\n"); in handle_to_device()
655 struct acpi_device *acpi_fetch_acpi_dev(acpi_handle handle) in acpi_fetch_acpi_dev() argument
657 return handle_to_device(handle, NULL); in acpi_fetch_acpi_dev()
677 struct acpi_device *acpi_get_acpi_dev(acpi_handle handle) in acpi_get_acpi_dev() argument
679 return handle_to_device(handle, get_acpi_device); in acpi_get_acpi_dev()
712 acpi_handle handle = adev->handle; in acpi_tie_acpi_dev() local
715 if (!handle) in acpi_tie_acpi_dev()
718 status = acpi_attach_data(handle, acpi_scan_drop_device, adev); in acpi_tie_acpi_dev()
720 acpi_handle_err(handle, "Unable to attach device data\n"); in acpi_tie_acpi_dev()
731 if (!acpi_get_physical_device_location(adev->handle, &pld)) in acpi_store_pld_crc()
811 acpi_detach_data(device->handle, acpi_scan_drop_device); in acpi_device_add()
872 static struct acpi_device *acpi_find_parent_acpi_dev(acpi_handle handle) in acpi_find_parent_acpi_dev() argument
881 if (!handle) in acpi_find_parent_acpi_dev()
887 status = acpi_get_parent(handle, &handle); in acpi_find_parent_acpi_dev()
894 adev = acpi_fetch_acpi_dev(handle); in acpi_find_parent_acpi_dev()
900 acpi_bus_get_ejd(acpi_handle handle, acpi_handle *ejd) in acpi_bus_get_ejd() argument
907 status = acpi_get_handle(handle, "_EJD", &tmp); in acpi_bus_get_ejd()
911 status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer); in acpi_bus_get_ejd()
924 acpi_handle handle = dev->handle; in acpi_bus_extract_wakeup_device_power_package() local
935 status = acpi_evaluate_object(handle, "_PRW", NULL, &buffer); in acpi_bus_extract_wakeup_device_power_package()
937 acpi_handle_info(handle, "_PRW evaluation failed: %s\n", in acpi_bus_extract_wakeup_device_power_package()
959 element->package.elements[0].reference.handle; in acpi_bus_extract_wakeup_device_power_package()
985 acpi_handle_warn(handle, "Retrieving current states " in acpi_bus_extract_wakeup_device_power_package()
991 acpi_handle_warn(handle, "Overriding _PRW sleep state " in acpi_bus_extract_wakeup_device_power_package()
1020 status = acpi_setup_gpe_for_wake(device->handle, wakeup->gpe_device, in acpi_wakeup_gpe_init()
1030 if (!acpi_has_method(device->handle, "_PRW")) in acpi_bus_get_wakeup_device_flags()
1063 status = acpi_evaluate_object(device->handle, pathname, NULL, &buffer); in acpi_bus_init_power_state()
1077 if (acpi_has_method(device->handle, pathname)) in acpi_bus_init_power_state()
1094 if (!acpi_has_method(device->handle, "_PS0") && in acpi_bus_get_power_flags()
1095 !acpi_has_method(device->handle, "_PR0")) in acpi_bus_get_power_flags()
1103 if (acpi_has_method(device->handle, "_PSC")) in acpi_bus_get_power_flags()
1106 if (acpi_has_method(device->handle, "_IRC")) in acpi_bus_get_power_flags()
1109 if (acpi_has_method(device->handle, "_DSW")) in acpi_bus_get_power_flags()
1112 acpi_evaluate_integer(device->handle, "_DSC", NULL, &dsc); in acpi_bus_get_power_flags()
1150 if (acpi_has_method(device->handle, "_STA")) in acpi_bus_get_flags()
1154 if (acpi_has_method(device->handle, "_RMV")) in acpi_bus_get_flags()
1158 if (acpi_has_method(device->handle, "_EJD") || in acpi_bus_get_flags()
1159 acpi_has_method(device->handle, "_EJ0")) in acpi_bus_get_flags()
1191 acpi_get_name(device->handle, ACPI_SINGLE_NAME, &buffer); in acpi_device_get_busid()
1210 bool acpi_ata_match(acpi_handle handle) in acpi_ata_match() argument
1212 return acpi_has_method(handle, "_GTF") || in acpi_ata_match()
1213 acpi_has_method(handle, "_GTM") || in acpi_ata_match()
1214 acpi_has_method(handle, "_STM") || in acpi_ata_match()
1215 acpi_has_method(handle, "_SDD"); in acpi_ata_match()
1224 bool acpi_bay_match(acpi_handle handle) in acpi_bay_match() argument
1228 if (!acpi_has_method(handle, "_EJ0")) in acpi_bay_match()
1230 if (acpi_ata_match(handle)) in acpi_bay_match()
1232 if (ACPI_FAILURE(acpi_get_parent(handle, &phandle))) in acpi_bay_match()
1251 acpi_handle handle = adev->handle; in is_ejectable_bay() local
1253 if (acpi_has_method(handle, "_EJ0") && acpi_device_is_battery(adev)) in is_ejectable_bay()
1256 return acpi_bay_match(handle); in is_ejectable_bay()
1262 bool acpi_dock_match(acpi_handle handle) in acpi_dock_match() argument
1264 return acpi_has_method(handle, "_DCK"); in acpi_dock_match()
1268 acpi_backlight_cap_match(acpi_handle handle, u32 level, void *context, in acpi_backlight_cap_match() argument
1273 if (acpi_has_method(handle, "_BCM") && in acpi_backlight_cap_match()
1274 acpi_has_method(handle, "_BCL")) { in acpi_backlight_cap_match()
1275 acpi_handle_debug(handle, "Found generic backlight support\n"); in acpi_backlight_cap_match()
1289 long acpi_is_video_device(acpi_handle handle) in acpi_is_video_device() argument
1294 if (acpi_has_method(handle, "_DOD") || acpi_has_method(handle, "_DOS")) in acpi_is_video_device()
1298 if (acpi_has_method(handle, "_ROM")) in acpi_is_video_device()
1302 if (acpi_has_method(handle, "_VPO") && in acpi_is_video_device()
1303 acpi_has_method(handle, "_GPD") && in acpi_is_video_device()
1304 acpi_has_method(handle, "_SPD")) in acpi_is_video_device()
1309 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, in acpi_is_video_device()
1352 static bool acpi_ibm_smbus_match(acpi_handle handle) in acpi_ibm_smbus_match() argument
1361 if (ACPI_FAILURE(acpi_get_name(handle, ACPI_SINGLE_NAME, &path)) || in acpi_ibm_smbus_match()
1366 if (acpi_has_method(handle, "SBI") && in acpi_ibm_smbus_match()
1367 acpi_has_method(handle, "SBR") && in acpi_ibm_smbus_match()
1368 acpi_has_method(handle, "SBW")) in acpi_ibm_smbus_match()
1374 static bool acpi_object_is_system_bus(acpi_handle handle) in acpi_object_is_system_bus() argument
1379 tmp == handle) in acpi_object_is_system_bus()
1382 tmp == handle) in acpi_object_is_system_bus()
1388 static void acpi_set_pnp_ids(acpi_handle handle, struct acpi_device_pnp *pnp, in acpi_set_pnp_ids() argument
1397 if (handle == ACPI_ROOT_OBJECT) { in acpi_set_pnp_ids()
1402 acpi_get_object_info(handle, &info); in acpi_set_pnp_ids()
1433 if (acpi_is_video_device(handle)) { in acpi_set_pnp_ids()
1438 if (acpi_bay_match(handle)) in acpi_set_pnp_ids()
1440 else if (acpi_dock_match(handle)) in acpi_set_pnp_ids()
1442 else if (acpi_ibm_smbus_match(handle)) in acpi_set_pnp_ids()
1445 acpi_object_is_system_bus(handle)) { in acpi_set_pnp_ids()
1555 if (adev && acpi_has_method(adev->handle, METHOD_NAME__DMA)) in acpi_dma_get_range()
1564 if (!acpi_has_method(adev->handle, METHOD_NAME__CRS)) { in acpi_dma_get_range()
1565 acpi_handle_warn(adev->handle, "_DMA is valid only if _CRS is present\n"); in acpi_dma_get_range()
1696 status = acpi_evaluate_integer(adev->handle, "_CCA", in acpi_init_coherency()
1708 acpi_handle_debug(adev->handle, in acpi_init_coherency()
1804 void acpi_init_device_object(struct acpi_device *device, acpi_handle handle, in acpi_init_device_object() argument
1807 struct acpi_device *parent = acpi_find_parent_acpi_dev(handle); in acpi_init_device_object()
1811 device->handle = handle; in acpi_init_device_object()
1819 acpi_set_pnp_ids(handle, &device->pnp, type); in acpi_init_device_object()
1837 if (dep->consumer == adev->handle) { in acpi_scan_dep_init()
1860 acpi_handle handle, int type, bool dep_init) in acpi_add_single_object() argument
1870 acpi_init_device_object(device, handle, type, acpi_device_release); in acpi_add_single_object()
1910 acpi_handle_debug(handle, "Added as %s, parent %s\n", in acpi_add_single_object()
1929 static bool acpi_device_should_be_hidden(acpi_handle handle) in acpi_device_should_be_hidden() argument
1935 if (!(spcr_uart_addr && acpi_has_method(handle, METHOD_NAME__CRS))) in acpi_device_should_be_hidden()
1942 status = acpi_walk_resources(handle, METHOD_NAME__CRS, in acpi_device_should_be_hidden()
1947 acpi_handle_info(handle, "The UART device @%pa in SPCR table will be hidden\n", in acpi_device_should_be_hidden()
2007 int acpi_scan_add_dep(acpi_handle handle, struct acpi_handle_list *dep_devices) in acpi_scan_add_dep() argument
2020 acpi_handle_debug(handle, "Error reading _DEP device info\n"); in acpi_scan_add_dep()
2038 dep->consumer = handle; in acpi_scan_add_dep()
2054 if (acpi_dock_match(adev->handle) || is_ejectable_bay(adev)) { in acpi_scan_init_hotplug()
2069 u32 __weak arch_acpi_add_auto_dep(acpi_handle handle) { return 0; } in arch_acpi_add_auto_dep() argument
2071 static u32 acpi_scan_check_dep(acpi_handle handle) in acpi_scan_check_dep() argument
2083 count += arch_acpi_add_auto_dep(handle); in acpi_scan_check_dep()
2091 if (!acpi_has_method(handle, "_DEP") || !acpi_has_method(handle, "_HID")) in acpi_scan_check_dep()
2094 if (!acpi_evaluate_reference(handle, "_DEP", NULL, &dep_devices)) { in acpi_scan_check_dep()
2095 acpi_handle_debug(handle, "Failed to evaluate _DEP.\n"); in acpi_scan_check_dep()
2099 count += acpi_scan_add_dep(handle, &dep_devices); in acpi_scan_check_dep()
2103 static acpi_status acpi_scan_check_crs_csi2_cb(acpi_handle handle, u32 a, void *b, void **c) in acpi_scan_check_crs_csi2_cb() argument
2105 acpi_mipi_check_crs_csi2(handle); in acpi_scan_check_crs_csi2_cb()
2109 static acpi_status acpi_bus_check_add(acpi_handle handle, bool first_pass, in acpi_bus_check_add() argument
2112 struct acpi_device *device = acpi_fetch_acpi_dev(handle); in acpi_bus_check_add()
2119 if (ACPI_FAILURE(acpi_get_type(handle, &acpi_type))) in acpi_bus_check_add()
2124 if (acpi_device_should_be_hidden(handle)) in acpi_bus_check_add()
2128 acpi_mipi_check_crs_csi2(handle); in acpi_bus_check_add()
2131 if (acpi_scan_check_dep(handle) > 0) { in acpi_bus_check_add()
2139 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, in acpi_bus_check_add()
2161 acpi_add_power_resource(handle); in acpi_bus_check_add()
2171 acpi_add_single_object(&device, handle, type, !first_pass); in acpi_bus_check_add()
2184 static acpi_status acpi_bus_check_add_1(acpi_handle handle, u32 lvl_not_used, in acpi_bus_check_add_1() argument
2187 return acpi_bus_check_add(handle, true, (struct acpi_device **)ret_p); in acpi_bus_check_add_1()
2190 static acpi_status acpi_bus_check_add_2(acpi_handle handle, u32 lvl_not_used, in acpi_bus_check_add_2() argument
2193 return acpi_bus_check_add(handle, false, (struct acpi_device **)ret_p); in acpi_bus_check_add_2()
2345 if (ACPI_SUCCESS(acpi_bus_get_ejd(device->handle, &ejd))) in acpi_bus_attach()
2412 if (dep->consumer == adev->handle) in acpi_dev_get_next_consumer_dev_cb()
2493 static int acpi_walk_dep_device_list(acpi_handle handle, in acpi_walk_dep_device_list() argument
2502 if (dep->supplier == handle) { in acpi_walk_dep_device_list()
2521 acpi_walk_dep_device_list(supplier->handle, acpi_scan_clear_dep, NULL); in acpi_dev_clear_dependencies()
2558 acpi_walk_dep_device_list(supplier->handle, in acpi_dev_get_next_consumer_dev()
2570 static void acpi_scan_postponed_branch(acpi_handle handle) in acpi_scan_postponed_branch() argument
2574 if (ACPI_FAILURE(acpi_bus_check_add(handle, false, &adev))) in acpi_scan_postponed_branch()
2577 acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, in acpi_scan_postponed_branch()
2596 acpi_handle handle = dep->consumer; in acpi_scan_postponed() local
2603 if (!acpi_fetch_acpi_dev(handle)) { in acpi_scan_postponed()
2612 acpi_scan_postponed_branch(handle); in acpi_scan_postponed()
2721 int acpi_bus_scan(acpi_handle handle) in acpi_bus_scan() argument
2727 if (ACPI_SUCCESS(acpi_bus_check_add(handle, true, &device))) in acpi_bus_scan()
2728 acpi_walk_namespace(ACPI_TYPE_ANY, handle, ACPI_UINT32_MAX, in acpi_bus_scan()