summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl-Johan Perntz <karl-johan.perntz@stericsson.com>2011-11-08 10:37:22 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:03:37 +0200
commit5d767f8ec6adf7f1eef4c6f4e5b3808a7987c5f6 (patch)
treeabd52ca549861be9babcc8035bc25004a82e4c16
parent6ee4c50a1f8d52b8c153ac4cac512bba3519f9ca (diff)
input:ske:Use gpio mode after resume to save power
Add delayed work to switch to gpio mode if no key action occurs after resume. This will prevent the keypad from getting stuck in ske mode that consumes more power than gpio mode. ST-Ericsson Linux next: Not tested ST-Ericsson ID: 372052 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I090a9067828a1f706f427f793f685ac298cf2a2e Signed-off-by: Karl-Johan Perntz <karl-johan.perntz@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/36836 Reviewed-by: Naveen Kumar GADDIPATI <naveen.gaddipati@stericsson.com> Reviewed-by: Naga RADHESH Y <naga.radheshy@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
-rw-r--r--drivers/input/keyboard/nomadik-ske-keypad.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/input/keyboard/nomadik-ske-keypad.c b/drivers/input/keyboard/nomadik-ske-keypad.c
index 7ab061f0124..0f9966bfaca 100644
--- a/drivers/input/keyboard/nomadik-ske-keypad.c
+++ b/drivers/input/keyboard/nomadik-ske-keypad.c
@@ -816,6 +816,13 @@ static int ske_keypad_resume(struct device *dev)
if (keypad->enable_on_resume) {
keypad->enable = true;
ske_mode_enable(keypad, true);
+ /*
+ * Schedule the work queue to change it to GPIO mode
+ * if there is no activity in SKE mode
+ */
+ if (!keypad->key_pressed)
+ schedule_delayed_work(&keypad->work,
+ keypad->board->switch_delay);
}
enable_irq(irq);
}