Input: gpio_keys: report a wakeup_event for a button press on a wake_up button.
authorNeilBrown <neilb@suse.de>
Fri, 29 Jun 2012 10:18:30 +0000 (20:18 +1000)
committerGrazvydas Ignotas <notasas@gmail.com>
Sat, 2 Mar 2013 20:11:55 +0000 (22:11 +0200)
In order to avoid races with suspend, a wakeup event must register as
such by calling pm_wakeup_event() or pm_stay_awake.  This will ensure
that the current suspend cycle aborts.

When the user-space visible event is created in the interrupt handled
(gpio_keys_irq_isr), and simple pm_wakeup_event() with no delay is
sufficient as suspend will synchronise with all interrupt delivery.

When the user-space visible event is create later
(gpio_keys_gpio_isr), we need to bracket the event with
pm_stay_awake() and pm_relax().

Signed-off-by: NeilBrown <neilb@suse.de>
Conflicts:

drivers/input/keyboard/gpio_keys.c


No differences found