ACPI: maintain a single list of _HID and _CID IDs
[deliverable/linux.git] / include / acpi / acpi_bus.h
index 1cef1398e35883c453bff73c8c85d7332b7d1138..c2c434626edc0dde560a53011c6913e99cc8351d 100644 (file)
@@ -70,7 +70,6 @@ enum acpi_bus_device_type {
        ACPI_BUS_TYPE_POWER,
        ACPI_BUS_TYPE_PROCESSOR,
        ACPI_BUS_TYPE_THERMAL,
-       ACPI_BUS_TYPE_SYSTEM,
        ACPI_BUS_TYPE_POWER_BUTTON,
        ACPI_BUS_TYPE_SLEEP_BUTTON,
        ACPI_BUS_DEVICE_TYPE_COUNT
@@ -172,19 +171,23 @@ typedef unsigned long acpi_bus_address;
 typedef char acpi_device_name[40];
 typedef char acpi_device_class[20];
 
+struct acpi_hardware_id {
+       struct list_head list;
+       char *id;
+};
+
 struct acpi_device_pnp {
        acpi_bus_id bus_id;     /* Object name */
        acpi_bus_address bus_address;   /* _ADR */
-       char *hardware_id;      /* _HID */
-       struct acpica_device_id_list *cid_list; /* _CIDs */
        char *unique_id;        /* _UID */
+       struct list_head ids;           /* _HID and _CIDs */
        acpi_device_name device_name;   /* Driver-determined */
        acpi_device_class device_class; /*        "          */
 };
 
 #define acpi_device_bid(d)     ((d)->pnp.bus_id)
 #define acpi_device_adr(d)     ((d)->pnp.bus_address)
-#define acpi_device_hid(d)     ((d)->pnp.hardware_id)
+char *acpi_device_hid(struct acpi_device *device);
 #define acpi_device_uid(d)     ((d)->pnp.unique_id)
 #define acpi_device_name(d)    ((d)->pnp.device_name)
 #define acpi_device_class(d)   ((d)->pnp.device_class)
@@ -262,7 +265,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;
@@ -322,6 +326,8 @@ extern void unregister_acpi_bus_notifier(struct notifier_block *nb);
 
 int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device);
 void acpi_bus_data_handler(acpi_handle handle, void *context);
+acpi_status acpi_bus_get_status_handle(acpi_handle handle,
+                                      unsigned long long *sta);
 int acpi_bus_get_status(struct acpi_device *device);
 int acpi_bus_get_power(acpi_handle handle, int *state);
 int acpi_bus_set_power(acpi_handle handle, int state);
This page took 0.024302 seconds and 5 git commands to generate.