diff options
-rw-r--r-- | drivers/input/keyboard/mcs_touchkey.c | 9 |
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 | ||
215 | static 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 |
216 | static int mcs_touchkey_suspend(struct device *dev) | 224 | static 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 | ||