diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-01-06 23:36:01 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-01-07 01:18:16 -0500 |
commit | 1f83511bd8f44b8a9e2d82263b2c95f26a625fcc (patch) | |
tree | a366443928ec8b96932a5d61074d7af43de1a188 /drivers/acpi/button.c | |
parent | 7fa69baf29de8c77a6b32c054df2abb8f11f8aa4 (diff) | |
download | talos-op-linux-1f83511bd8f44b8a9e2d82263b2c95f26a625fcc.tar.gz talos-op-linux-1f83511bd8f44b8a9e2d82263b2c95f26a625fcc.zip |
ACPI / PM: Report wakeup events from buttons
Since ACPI buttons and lids can be configured to wake up the system
from sleep states, report wakeup events from these devices.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/button.c')
-rw-r--r-- | drivers/acpi/button.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c index 234c104fcdd8..76bbb78a5ad9 100644 --- a/drivers/acpi/button.c +++ b/drivers/acpi/button.c @@ -279,6 +279,9 @@ static int acpi_lid_send_state(struct acpi_device *device) input_report_switch(button->input, SW_LID, !state); input_sync(button->input); + if (state) + pm_wakeup_event(&device->dev, 0); + ret = blocking_notifier_call_chain(&acpi_lid_notifier, state, device); if (ret == NOTIFY_DONE) ret = blocking_notifier_call_chain(&acpi_lid_notifier, state, @@ -314,6 +317,8 @@ static void acpi_button_notify(struct acpi_device *device, u32 event) input_sync(input); input_report_key(input, keycode, 0); input_sync(input); + + pm_wakeup_event(&device->dev, 0); } acpi_bus_generate_proc_event(device, event, ++button->pushed); |