ACPI: save device_type in acpi_device
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Mon, 21 Sep 2009 19:29:10 +0000 (19:29 +0000)
committerLen Brown <len.brown@intel.com>
Fri, 25 Sep 2009 18:24:25 +0000 (14:24 -0400)
Most uses of the ACPI bus device_type (ACPI_BUS_TYPE_DEVICE,
ACPI_BUS_TYPE_POWER, etc) are during device initialization, but
we do need it later for notify handler installation, since that
is different for fixed hardware devices vs. namespace devices.

This patch saves the device_type in the acpi_device structure,
so we can check that rather than comparing against the _HID string.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/scan.c
include/acpi/acpi_bus.h

index ab5a26469707b3c930afbcb1c4887dd72a206f17..c73681b7e69eb2f43863d2fd18109e2385f2def2 100644 (file)
@@ -1240,6 +1240,7 @@ acpi_add_single_object(struct acpi_device **child,
                return -ENOMEM;
        }
 
+       device->device_type = type;
        device->handle = handle;
        device->parent = parent;
        device->bus_ops = *ops; /* workround for not call .start */
index 1cef1398e35883c453bff73c8c85d7332b7d1138..8456e8cbf9fdcd931dc6911b928e31429b0cfe1c 100644 (file)
@@ -262,7 +262,8 @@ struct acpi_device_wakeup {
 /* Device */
 
 struct acpi_device {
-       acpi_handle handle;
+       int device_type;
+       acpi_handle handle;             /* no handle for fixed hardware */
        struct acpi_device *parent;
        struct list_head children;
        struct list_head node;