summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNinad Malwade <nmalwade@nvidia.com>2010-02-03 13:35:28 +0530
committerNinad Malwade <nmalwade@nvidia.com>2010-02-03 13:35:28 +0530
commitc1418ca4de11cb222fe531f383dc6025aba3f10e (patch)
treeb008d33813f8b907b6d8ea88e0dfd543aacdb9b7
parentbf55431904dc111a2ad17b7196abd8461de49d42 (diff)
tegra: tegra-nvec (keyboard) driver thread added into freezable state
- all the EC client threads should be freezable while going into suspend and so as the nvec keyboard thread. bug 646208 Change-Id: I95285829b229d5e482f216507210258e05de792c
-rw-r--r--drivers/input/keyboard/tegra-nvec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/input/keyboard/tegra-nvec.c b/drivers/input/keyboard/tegra-nvec.c
index df6f2e27ca20..8c6679994648 100644
--- a/drivers/input/keyboard/tegra-nvec.c
+++ b/drivers/input/keyboard/tegra-nvec.c
@@ -26,6 +26,7 @@
#include <linux/platform_device.h>
#include <linux/kthread.h>
#include <linux/tegra_devices.h>
+#include <linux/freezer.h>
#include "nvos.h"
#include "nvec.h"
@@ -268,6 +269,10 @@ static int nvec_keyboard_recv(void *arg)
struct input_dev *input_dev = (struct input_dev *)arg;
struct nvec_keyboard *keyboard = input_get_drvdata(input_dev);
+ /* keyboard event thread should be frozen before suspending the
+ * keyboard and NVEC drivers */
+ set_freezable_with_signal();
+
while (!keyboard->shutdown) {
unsigned int pressed;
NvU32 code;