|
@@ -1567,13 +1567,9 @@ static int acpi_bus_type_and_status(acpi_handle handle, int *type,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-bool acpi_device_is_present(struct acpi_device *adev)
|
|
|
+bool acpi_device_is_present(const struct acpi_device *adev)
|
|
|
{
|
|
|
- if (adev->status.present || adev->status.functional)
|
|
|
- return true;
|
|
|
-
|
|
|
- adev->flags.initialized = false;
|
|
|
- return false;
|
|
|
+ return adev->status.present || adev->status.functional;
|
|
|
}
|
|
|
|
|
|
static bool acpi_scan_handler_matching(struct acpi_scan_handler *handler,
|
|
@@ -1831,6 +1827,7 @@ static void acpi_bus_attach(struct acpi_device *device)
|
|
|
acpi_bus_get_status(device);
|
|
|
/* Skip devices that are not present. */
|
|
|
if (!acpi_device_is_present(device)) {
|
|
|
+ device->flags.initialized = false;
|
|
|
acpi_device_clear_enumerated(device);
|
|
|
device->flags.power_manageable = 0;
|
|
|
return;
|