aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/input/keyboard/mcs_touchkey.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/input/keyboard/mcs_touchkey.c b/drivers/input/keyboard/mcs_touchkey.c
index 03fa59a0b220..af1aab324a4c 100644
--- a/drivers/input/keyboard/mcs_touchkey.c
+++ b/drivers/input/keyboard/mcs_touchkey.c
@@ -212,6 +212,14 @@ static int __devexit mcs_touchkey_remove(struct i2c_client *client)
212 return 0; 212 return 0;
213} 213}
214 214
215static void mcs_touchkey_shutdown(struct i2c_client *client)
216{
217 struct mcs_touchkey_data *data = i2c_get_clientdata(client);
218
219 if (data->poweron)
220 data->poweron(false);
221}
222
215#ifdef CONFIG_PM_SLEEP 223#ifdef CONFIG_PM_SLEEP
216static int mcs_touchkey_suspend(struct device *dev) 224static int mcs_touchkey_suspend(struct device *dev)
217{ 225{
@@ -262,6 +270,7 @@ static struct i2c_driver mcs_touchkey_driver = {
262 }, 270 },
263 .probe = mcs_touchkey_probe, 271 .probe = mcs_touchkey_probe,
264 .remove = __devexit_p(mcs_touchkey_remove), 272 .remove = __devexit_p(mcs_touchkey_remove),
273 .shutdown = mcs_touchkey_shutdown,
265 .id_table = mcs_touchkey_id, 274 .id_table = mcs_touchkey_id,
266}; 275};
267 276