diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-02-21 01:08:51 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-02-21 01:08:51 +0100 |
commit | 59b42fa01fe2d84f3c3f28ee6f25510820ace35b (patch) | |
tree | be9e3852133481c14fcb830e79aa6802869a6d98 | |
parent | d7c7c0256b936901eb7a70fbc6d674a6bdfd463e (diff) | |
download | linux-stable-59b42fa01fe2d84f3c3f28ee6f25510820ace35b.tar.gz linux-stable-59b42fa01fe2d84f3c3f28ee6f25510820ace35b.tar.bz2 linux-stable-59b42fa01fe2d84f3c3f28ee6f25510820ace35b.zip |
ACPI / hotplug: Add .fixup() callback to struct acpi_hotplug_context
In order for the ACPI dock station code to be able to use the
callbacks pointed to by the ACPI device objects' hotplug contexts
add a .fixup() callback pointer to struct acpi_hotplug_context.
That callback will be useful to handle PCI devices located in
dock stations.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 2 | ||||
-rw-r--r-- | include/acpi/acpi_bus.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index db81412cacb0..4228c67ceffe 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c @@ -80,7 +80,7 @@ static struct acpiphp_context *acpiphp_init_context(struct acpi_device *adev) return NULL; context->refcount = 1; - acpi_set_hp_context(adev, &context->hp, acpiphp_hotplug_event); + acpi_set_hp_context(adev, &context->hp, acpiphp_hotplug_event, NULL); return context; } diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 8fb297b5307c..007fe99e29f5 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -144,6 +144,7 @@ struct acpi_scan_handler { struct acpi_hotplug_context { struct acpi_device *self; int (*event)(struct acpi_device *, u32); + void (*fixup)(struct acpi_device *); }; /* @@ -366,10 +367,12 @@ static inline void acpi_set_device_status(struct acpi_device *adev, u32 sta) static inline void acpi_set_hp_context(struct acpi_device *adev, struct acpi_hotplug_context *hp, - int (*event)(struct acpi_device *, u32)) + int (*event)(struct acpi_device *, u32), + void (*fixup)(struct acpi_device *)) { hp->self = adev; hp->event = event; + hp->fixup = fixup; adev->hp = hp; } |