summaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2006-07-01 23:21:26 +0200
committerLen Brown <len.brown@intel.com>2006-07-01 23:21:26 +0200
commitd0e5f39f1ee2e55d140064bb6d74c8bad25d71d0 (patch)
treeb4dbf354ded61dcaf7c06be3f799303d2d1d6cfd /drivers/acpi
parentPull asus_acpi-0.30 into release branch (diff)
parentACPI: handle battery notify event on broken BIOS (diff)
downloadlinux-d0e5f39f1ee2e55d140064bb6d74c8bad25d71d0.tar.xz
linux-d0e5f39f1ee2e55d140064bb6d74c8bad25d71d0.zip
Pull bugzilla-3241 into release branch
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/ac.c6
-rw-r--r--drivers/acpi/battery.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c
index 4537ae4838c4..69a98da13913 100644
--- a/drivers/acpi/ac.c
+++ b/drivers/acpi/ac.c
@@ -194,6 +194,8 @@ static void acpi_ac_notify(acpi_handle handle, u32 event, void *data)
device = ac->device;
switch (event) {
case ACPI_AC_NOTIFY_STATUS:
+ case ACPI_NOTIFY_BUS_CHECK:
+ case ACPI_NOTIFY_DEVICE_CHECK:
acpi_ac_get_state(ac);
acpi_bus_generate_event(device, event, (u32) ac->state);
break;
@@ -235,7 +237,7 @@ static int acpi_ac_add(struct acpi_device *device)
goto end;
status = acpi_install_notify_handler(device->handle,
- ACPI_DEVICE_NOTIFY, acpi_ac_notify,
+ ACPI_ALL_NOTIFY, acpi_ac_notify,
ac);
if (ACPI_FAILURE(status)) {
result = -ENODEV;
@@ -267,7 +269,7 @@ static int acpi_ac_remove(struct acpi_device *device, int type)
ac = (struct acpi_ac *)acpi_driver_data(device);
status = acpi_remove_notify_handler(device->handle,
- ACPI_DEVICE_NOTIFY, acpi_ac_notify);
+ ACPI_ALL_NOTIFY, acpi_ac_notify);
acpi_ac_remove_fs(device);
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 2b8aab560b58..a192d2b47cc8 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -665,6 +665,8 @@ static void acpi_battery_notify(acpi_handle handle, u32 event, void *data)
switch (event) {
case ACPI_BATTERY_NOTIFY_STATUS:
case ACPI_BATTERY_NOTIFY_INFO:
+ case ACPI_NOTIFY_BUS_CHECK:
+ case ACPI_NOTIFY_DEVICE_CHECK:
acpi_battery_check(battery);
acpi_bus_generate_event(device, event, battery->flags.present);
break;
@@ -706,7 +708,7 @@ static int acpi_battery_add(struct acpi_device *device)
goto end;
status = acpi_install_notify_handler(device->handle,
- ACPI_DEVICE_NOTIFY,
+ ACPI_ALL_NOTIFY,
acpi_battery_notify, battery);
if (ACPI_FAILURE(status)) {
result = -ENODEV;
@@ -738,7 +740,7 @@ static int acpi_battery_remove(struct acpi_device *device, int type)
battery = (struct acpi_battery *)acpi_driver_data(device);
status = acpi_remove_notify_handler(device->handle,
- ACPI_DEVICE_NOTIFY,
+ ACPI_ALL_NOTIFY,
acpi_battery_notify);
acpi_battery_remove_fs(device);