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()
This commit is contained in:
@@ -88,11 +88,30 @@ struct acpi_device;
|
||||
* -----------------
|
||||
*/
|
||||
|
||||
enum acpi_hotplug_mode {
|
||||
AHM_GENERIC = 0,
|
||||
AHM_CONTAINER,
|
||||
AHM_COUNT
|
||||
};
|
||||
|
||||
struct acpi_hotplug_profile {
|
||||
struct kobject kobj;
|
||||
bool enabled:1;
|
||||
enum acpi_hotplug_mode mode;
|
||||
};
|
||||
|
||||
static inline struct acpi_hotplug_profile *to_acpi_hotplug_profile(
|
||||
struct kobject *kobj)
|
||||
{
|
||||
return container_of(kobj, struct acpi_hotplug_profile, kobj);
|
||||
}
|
||||
|
||||
struct acpi_scan_handler {
|
||||
const struct acpi_device_id *ids;
|
||||
struct list_head list_node;
|
||||
int (*attach)(struct acpi_device *dev, const struct acpi_device_id *id);
|
||||
void (*detach)(struct acpi_device *dev);
|
||||
struct acpi_hotplug_profile hotplug;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -142,7 +161,6 @@ struct acpi_device_status {
|
||||
|
||||
struct acpi_device_flags {
|
||||
u32 dynamic_status:1;
|
||||
u32 bus_address:1;
|
||||
u32 removable:1;
|
||||
u32 ejectable:1;
|
||||
u32 suprise_removal_ok:1;
|
||||
@@ -150,7 +168,7 @@ struct acpi_device_flags {
|
||||
u32 performance_manageable:1;
|
||||
u32 eject_pending:1;
|
||||
u32 match_driver:1;
|
||||
u32 reserved:23;
|
||||
u32 reserved:24;
|
||||
};
|
||||
|
||||
/* File System */
|
||||
@@ -173,10 +191,17 @@ struct acpi_hardware_id {
|
||||
char *id;
|
||||
};
|
||||
|
||||
struct acpi_pnp_type {
|
||||
u32 hardware_id:1;
|
||||
u32 bus_address:1;
|
||||
u32 reserved:30;
|
||||
};
|
||||
|
||||
struct acpi_device_pnp {
|
||||
acpi_bus_id bus_id; /* Object name */
|
||||
acpi_bus_id bus_id; /* Object name */
|
||||
struct acpi_pnp_type type; /* ID type */
|
||||
acpi_bus_address bus_address; /* _ADR */
|
||||
char *unique_id; /* _UID */
|
||||
char *unique_id; /* _UID */
|
||||
struct list_head ids; /* _HID and _CIDs */
|
||||
acpi_device_name device_name; /* Driver-determined */
|
||||
acpi_device_class device_class; /* " */
|
||||
|
Reference in New Issue
Block a user