提交 9fdae727 编写于 作者: V Vladimir Lebedev 提交者: Len Brown

ACPI: handle battery notify event on broken BIOS

http://bugzilla.kernel.org/show_bug.cgi?id=3241Signed-off-by: NVladimir Lebedev <vladimir.p.lebedev@intel.com>
Signed-off-by: NLen Brown <len.brown@intel.com>
上级 03d78252
...@@ -665,6 +665,8 @@ static void acpi_battery_notify(acpi_handle handle, u32 event, void *data) ...@@ -665,6 +665,8 @@ static void acpi_battery_notify(acpi_handle handle, u32 event, void *data)
switch (event) { switch (event) {
case ACPI_BATTERY_NOTIFY_STATUS: case ACPI_BATTERY_NOTIFY_STATUS:
case ACPI_BATTERY_NOTIFY_INFO: case ACPI_BATTERY_NOTIFY_INFO:
case ACPI_NOTIFY_BUS_CHECK:
case ACPI_NOTIFY_DEVICE_CHECK:
acpi_battery_check(battery); acpi_battery_check(battery);
acpi_bus_generate_event(device, event, battery->flags.present); acpi_bus_generate_event(device, event, battery->flags.present);
break; break;
...@@ -706,7 +708,7 @@ static int acpi_battery_add(struct acpi_device *device) ...@@ -706,7 +708,7 @@ static int acpi_battery_add(struct acpi_device *device)
goto end; goto end;
status = acpi_install_notify_handler(device->handle, status = acpi_install_notify_handler(device->handle,
ACPI_DEVICE_NOTIFY, ACPI_ALL_NOTIFY,
acpi_battery_notify, battery); acpi_battery_notify, battery);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
result = -ENODEV; result = -ENODEV;
...@@ -738,7 +740,7 @@ static int acpi_battery_remove(struct acpi_device *device, int type) ...@@ -738,7 +740,7 @@ static int acpi_battery_remove(struct acpi_device *device, int type)
battery = (struct acpi_battery *)acpi_driver_data(device); battery = (struct acpi_battery *)acpi_driver_data(device);
status = acpi_remove_notify_handler(device->handle, status = acpi_remove_notify_handler(device->handle,
ACPI_DEVICE_NOTIFY, ACPI_ALL_NOTIFY,
acpi_battery_notify); acpi_battery_notify);
acpi_battery_remove_fs(device); acpi_battery_remove_fs(device);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册