|
@@ -1406,7 +1406,7 @@ void acpi_init_device_object(struct acpi_device *device, acpi_handle handle,
|
|
|
acpi_bus_get_flags(device);
|
|
|
device->flags.match_driver = false;
|
|
|
device->flags.initialized = true;
|
|
|
- device->flags.visited = false;
|
|
|
+ acpi_device_clear_enumerated(device);
|
|
|
device_initialize(&device->dev);
|
|
|
dev_set_uevent_suppress(&device->dev, true);
|
|
|
acpi_init_coherency(device);
|
|
@@ -1683,8 +1683,10 @@ static void acpi_default_enumeration(struct acpi_device *device)
|
|
|
acpi_dev_get_resources(device, &resource_list, acpi_check_spi_i2c_slave,
|
|
|
&is_spi_i2c_slave);
|
|
|
acpi_dev_free_resource_list(&resource_list);
|
|
|
- if (!is_spi_i2c_slave)
|
|
|
+ if (!is_spi_i2c_slave) {
|
|
|
acpi_create_platform_device(device);
|
|
|
+ acpi_device_set_enumerated(device);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static const struct acpi_device_id generic_device_ids[] = {
|
|
@@ -1751,7 +1753,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.visited = false;
|
|
|
+ acpi_device_clear_enumerated(device);
|
|
|
device->flags.power_manageable = 0;
|
|
|
return;
|
|
|
}
|
|
@@ -1766,7 +1768,7 @@ static void acpi_bus_attach(struct acpi_device *device)
|
|
|
|
|
|
device->flags.initialized = true;
|
|
|
}
|
|
|
- device->flags.visited = false;
|
|
|
+
|
|
|
ret = acpi_scan_attach_handler(device);
|
|
|
if (ret < 0)
|
|
|
return;
|
|
@@ -1780,7 +1782,6 @@ static void acpi_bus_attach(struct acpi_device *device)
|
|
|
if (!ret && device->pnp.type.platform_id)
|
|
|
acpi_default_enumeration(device);
|
|
|
}
|
|
|
- device->flags.visited = true;
|
|
|
|
|
|
ok:
|
|
|
list_for_each_entry(child, &device->children, node)
|
|
@@ -1872,7 +1873,7 @@ void acpi_bus_trim(struct acpi_device *adev)
|
|
|
*/
|
|
|
acpi_device_set_power(adev, ACPI_STATE_D3_COLD);
|
|
|
adev->flags.initialized = false;
|
|
|
- adev->flags.visited = false;
|
|
|
+ acpi_device_clear_enumerated(adev);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(acpi_bus_trim);
|
|
|
|