diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-04-27 19:53:34 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-04-27 19:53:34 -0400 |
commit | 929c6dd4195f6b4daf9887da34b3d7fbd0f2e2f5 (patch) | |
tree | 1eb36e31b2e3ca5a747d86689b9fa92dec227272 /include/acpi | |
parent | 60d509fa6a9c4653a86ad830e4c4b30360b23f0e (diff) | |
parent | fd4655c259fa91b3b207345eb7b4d9faa1b6bc8d (diff) |
Merge branch 'acpi-hotplug'
* acpi-hotplug:
ACPI / memhotplug: Remove info->failed bit
ACPI / memhotplug: set info->enabled for memory present at boot time
ACPI: Verify device status after eject
acpi: remove reference to ACPI_HOTPLUG_IO
ACPI: Update _OST handling for notify
ACPI: Update PNPID match handling for notify
ACPI: Update PNPID set/free interfaces
ACPI: Remove acpi_device dependency in acpi_device_set_id()
ACPI / hotplug: Make acpi_hotplug_profile_ktype static
ACPI / scan: Make memory hotplug driver use struct acpi_scan_handler
ACPI / container: Use hotplug profile user space interface
ACPI / hotplug: Introduce user space interface for hotplug profiles
ACPI / scan: Introduce acpi_scan_handler_matching()
ACPI / container: Use common hotplug code
ACPI / scan: Introduce common code for ACPI-based device hotplug
ACPI / scan: Introduce acpi_scan_match_handler()
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acpi_bus.h | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 22ba56e834e2..98db31d9f9b4 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -88,11 +88,30 @@ struct acpi_device; | |||
88 | * ----------------- | 88 | * ----------------- |
89 | */ | 89 | */ |
90 | 90 | ||
91 | enum acpi_hotplug_mode { | ||
92 | AHM_GENERIC = 0, | ||
93 | AHM_CONTAINER, | ||
94 | AHM_COUNT | ||
95 | }; | ||
96 | |||
97 | struct acpi_hotplug_profile { | ||
98 | struct kobject kobj; | ||
99 | bool enabled:1; | ||
100 | enum acpi_hotplug_mode mode; | ||
101 | }; | ||
102 | |||
103 | static inline struct acpi_hotplug_profile *to_acpi_hotplug_profile( | ||
104 | struct kobject *kobj) | ||
105 | { | ||
106 | return container_of(kobj, struct acpi_hotplug_profile, kobj); | ||
107 | } | ||
108 | |||
91 | struct acpi_scan_handler { | 109 | struct acpi_scan_handler { |
92 | const struct acpi_device_id *ids; | 110 | const struct acpi_device_id *ids; |
93 | struct list_head list_node; | 111 | struct list_head list_node; |
94 | int (*attach)(struct acpi_device *dev, const struct acpi_device_id *id); | 112 | int (*attach)(struct acpi_device *dev, const struct acpi_device_id *id); |
95 | void (*detach)(struct acpi_device *dev); | 113 | void (*detach)(struct acpi_device *dev); |
114 | struct acpi_hotplug_profile hotplug; | ||
96 | }; | 115 | }; |
97 | 116 | ||
98 | /* | 117 | /* |
@@ -142,7 +161,6 @@ struct acpi_device_status { | |||
142 | 161 | ||
143 | struct acpi_device_flags { | 162 | struct acpi_device_flags { |
144 | u32 dynamic_status:1; | 163 | u32 dynamic_status:1; |
145 | u32 bus_address:1; | ||
146 | u32 removable:1; | 164 | u32 removable:1; |
147 | u32 ejectable:1; | 165 | u32 ejectable:1; |
148 | u32 suprise_removal_ok:1; | 166 | u32 suprise_removal_ok:1; |
@@ -150,7 +168,7 @@ struct acpi_device_flags { | |||
150 | u32 performance_manageable:1; | 168 | u32 performance_manageable:1; |
151 | u32 eject_pending:1; | 169 | u32 eject_pending:1; |
152 | u32 match_driver:1; | 170 | u32 match_driver:1; |
153 | u32 reserved:23; | 171 | u32 reserved:24; |
154 | }; | 172 | }; |
155 | 173 | ||
156 | /* File System */ | 174 | /* File System */ |
@@ -173,10 +191,17 @@ struct acpi_hardware_id { | |||
173 | char *id; | 191 | char *id; |
174 | }; | 192 | }; |
175 | 193 | ||
194 | struct acpi_pnp_type { | ||
195 | u32 hardware_id:1; | ||
196 | u32 bus_address:1; | ||
197 | u32 reserved:30; | ||
198 | }; | ||
199 | |||
176 | struct acpi_device_pnp { | 200 | struct acpi_device_pnp { |
177 | acpi_bus_id bus_id; /* Object name */ | 201 | acpi_bus_id bus_id; /* Object name */ |
202 | struct acpi_pnp_type type; /* ID type */ | ||
178 | acpi_bus_address bus_address; /* _ADR */ | 203 | acpi_bus_address bus_address; /* _ADR */ |
179 | char *unique_id; /* _UID */ | 204 | char *unique_id; /* _UID */ |
180 | struct list_head ids; /* _HID and _CIDs */ | 205 | struct list_head ids; /* _HID and _CIDs */ |
181 | acpi_device_name device_name; /* Driver-determined */ | 206 | acpi_device_name device_name; /* Driver-determined */ |
182 | acpi_device_class device_class; /* " */ | 207 | acpi_device_class device_class; /* " */ |