summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorGary King <GKing@nvidia.com>2010-02-01 17:30:26 -0800
committerGerrit Code Review <gerrit2@git-master-01.nvidia.com>2010-02-01 17:30:26 -0800
commit417a18fb1e71a9975c77250f08ba45c4d7efbd6f (patch)
tree656fcaac482b02074793203b49ca7ae3d23ab374 /drivers
parent3d13613ce235128f6e7e9a46e74d3865b3a940f9 (diff)
parenta531df9ef14cd29e5fb0f0bdb650d7a422c7f0c2 (diff)
Merge "tegra: NvEC threads are added into refrigerator for suspend/resume cases" into android-tegra-2.6.29
Diffstat (limited to 'drivers')
-rw-r--r--drivers/input/keyboard/tegra-nvec.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/input/keyboard/tegra-nvec.c b/drivers/input/keyboard/tegra-nvec.c
index 7081e92377b3..df6f2e27ca20 100644
--- a/drivers/input/keyboard/tegra-nvec.c
+++ b/drivers/input/keyboard/tegra-nvec.c
@@ -255,6 +255,7 @@ struct nvec_keyboard
struct input_dev *input_dev;
struct task_struct *task;
char name[128];
+ int shutdown;
unsigned short keycode[512];
NvEcHandle hNvec;
NvEcEventRegistrationHandle hEvent;
@@ -267,7 +268,7 @@ 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);
- while (!kthread_should_stop()) {
+ while (!keyboard->shutdown) {
unsigned int pressed;
NvU32 code;
NvU8 flags;
@@ -278,9 +279,8 @@ static int nvec_keyboard_recv(void *arg)
continue;
}
- /* Check for the thread terminaiton request */
- if (kthread_should_stop())
- return 0;
+ if (keyboard->shutdown)
+ break;
pressed = (flags & NV_ODM_SCAN_CODE_FLAG_MAKE);
@@ -396,6 +396,7 @@ static int __devexit nvec_keyboard_remove(struct platform_device *dev)
NvOdmKeyboardDeInit();
NvEcClose(keyboard->hNvec);
keyboard->hNvec = NULL;
+ keyboard->shutdown = 1;
input_free_device(input_dev);
kfree(keyboard);