diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/input/keyboard/matrix_keypad.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 91cfe5170265..34f4a29d4973 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c | |||
@@ -213,8 +213,9 @@ static void matrix_keypad_stop(struct input_dev *dev) | |||
213 | } | 213 | } |
214 | 214 | ||
215 | #ifdef CONFIG_PM | 215 | #ifdef CONFIG_PM |
216 | static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t state) | 216 | static int matrix_keypad_suspend(struct device *dev) |
217 | { | 217 | { |
218 | struct platform_device *pdev = to_platform_device(dev); | ||
218 | struct matrix_keypad *keypad = platform_get_drvdata(pdev); | 219 | struct matrix_keypad *keypad = platform_get_drvdata(pdev); |
219 | const struct matrix_keypad_platform_data *pdata = keypad->pdata; | 220 | const struct matrix_keypad_platform_data *pdata = keypad->pdata; |
220 | int i; | 221 | int i; |
@@ -228,8 +229,9 @@ static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t stat | |||
228 | return 0; | 229 | return 0; |
229 | } | 230 | } |
230 | 231 | ||
231 | static int matrix_keypad_resume(struct platform_device *pdev) | 232 | static int matrix_keypad_resume(struct device *dev) |
232 | { | 233 | { |
234 | struct platform_device *pdev = to_platform_device(dev); | ||
233 | struct matrix_keypad *keypad = platform_get_drvdata(pdev); | 235 | struct matrix_keypad *keypad = platform_get_drvdata(pdev); |
234 | const struct matrix_keypad_platform_data *pdata = keypad->pdata; | 236 | const struct matrix_keypad_platform_data *pdata = keypad->pdata; |
235 | int i; | 237 | int i; |
@@ -242,9 +244,9 @@ static int matrix_keypad_resume(struct platform_device *pdev) | |||
242 | 244 | ||
243 | return 0; | 245 | return 0; |
244 | } | 246 | } |
245 | #else | 247 | |
246 | #define matrix_keypad_suspend NULL | 248 | static const SIMPLE_DEV_PM_OPS(matrix_keypad_pm_ops, |
247 | #define matrix_keypad_resume NULL | 249 | matrix_keypad_suspend, matrix_keypad_resume); |
248 | #endif | 250 | #endif |
249 | 251 | ||
250 | static int __devinit init_matrix_gpio(struct platform_device *pdev, | 252 | static int __devinit init_matrix_gpio(struct platform_device *pdev, |
@@ -417,11 +419,12 @@ static int __devexit matrix_keypad_remove(struct platform_device *pdev) | |||
417 | static struct platform_driver matrix_keypad_driver = { | 419 | static struct platform_driver matrix_keypad_driver = { |
418 | .probe = matrix_keypad_probe, | 420 | .probe = matrix_keypad_probe, |
419 | .remove = __devexit_p(matrix_keypad_remove), | 421 | .remove = __devexit_p(matrix_keypad_remove), |
420 | .suspend = matrix_keypad_suspend, | ||
421 | .resume = matrix_keypad_resume, | ||
422 | .driver = { | 422 | .driver = { |
423 | .name = "matrix-keypad", | 423 | .name = "matrix-keypad", |
424 | .owner = THIS_MODULE, | 424 | .owner = THIS_MODULE, |
425 | #ifdef CONFIG_PM | ||
426 | .pm = &matrix_keypad_pm_ops, | ||
427 | #endif | ||
425 | }, | 428 | }, |
426 | }; | 429 | }; |
427 | 430 | ||