summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/scan.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-11-07 01:42:09 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-11-07 01:42:09 +0100
commit43d388832bd3e413e9b5e6f3caef4b0844b901af (patch)
tree0a95011781ad5a4286761fd17ed2f5c285b5e02a /drivers/acpi/scan.c
parentACPI / hotplug: Merge device hot-removal routines (diff)
downloadlinux-43d388832bd3e413e9b5e6f3caef4b0844b901af.tar.xz
linux-43d388832bd3e413e9b5e6f3caef4b0844b901af.zip
ACPI / hotplug: Carry out PCI root eject directly
Since _handle_hotplug_event_root() is run from the ACPI hotplug workqueue, it doesn't need to queue up a work item to eject a PCI host bridge on the same workqueue. Instead, it can just carry out the eject by calling acpi_bus_device_eject() directly, so make that happen. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/scan.c')
-rw-r--r--drivers/acpi/scan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 4a0a591feed3..c7317fe213bf 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -285,7 +285,7 @@ static int acpi_scan_hot_remove(struct acpi_device *device)
return 0;
}
-static void acpi_bus_device_eject(struct acpi_device *device, u32 ost_src)
+void acpi_bus_device_eject(struct acpi_device *device, u32 ost_src)
{
acpi_handle handle = device->handle;
struct acpi_scan_handler *handler;
@@ -409,7 +409,7 @@ static void acpi_hotplug_unsupported(acpi_handle handle, u32 type)
* acpi_bus_hot_remove_device: Hot-remove a device and its children.
* @context: Address of the ACPI device object to hot-remove.
*/
-void acpi_bus_hot_remove_device(void *context)
+static void acpi_bus_hot_remove_device(void *context)
{
acpi_bus_device_eject(context, ACPI_NOTIFY_EJECT_REQUEST);
}