diff options
author | Gary King <GKing@nvidia.com> | 2010-02-01 17:30:26 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit2@git-master-01.nvidia.com> | 2010-02-01 17:30:26 -0800 |
commit | 417a18fb1e71a9975c77250f08ba45c4d7efbd6f (patch) | |
tree | 656fcaac482b02074793203b49ca7ae3d23ab374 /drivers | |
parent | 3d13613ce235128f6e7e9a46e74d3865b3a940f9 (diff) | |
parent | a531df9ef14cd29e5fb0f0bdb650d7a422c7f0c2 (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.c | 9 |
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); |