summaryrefslogtreecommitdiff
path: root/drivers/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/dock.c11
-rw-r--r--drivers/acpi/scan.c8
2 files changed, 14 insertions, 5 deletions
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index 78c4ee7a422e..a88fad9ff234 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -203,10 +203,19 @@ static void dock_hotplug_event(struct dock_dependent_device *dd, u32 event,
fixup(adev);
return;
}
+ } else if (cb_type == DOCK_CALL_UEVENT) {
+ void (*uevent)(struct acpi_device *, u32);
+
+ uevent = adev->hp->uevent;
+ if (uevent) {
+ acpi_unlock_hp_context();
+ uevent(adev, event);
+ return;
+ }
} else {
int (*notify)(struct acpi_device *, u32);
- notify = adev->hp->event;
+ notify = adev->hp->notify;
if (notify) {
acpi_unlock_hp_context();
notify(adev, event);
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 518aae461a00..e7d951032f85 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -496,17 +496,17 @@ void acpi_device_hotplug(void *data, u32 src)
goto err_out;
}
} else {
- int (*event)(struct acpi_device *, u32);
+ int (*notify)(struct acpi_device *, u32);
acpi_lock_hp_context();
- event = adev->hp ? adev->hp->event : NULL;
+ notify = adev->hp ? adev->hp->notify : NULL;
acpi_unlock_hp_context();
/*
* There may be additional notify handlers for device objects
* without the .event() callback, so ignore them here.
*/
- if (event)
- error = event(adev, src);
+ if (notify)
+ error = notify(adev, src);
else
goto out;
}