|
@@ -182,16 +182,10 @@ static void ep93xx_keypad_close(struct input_dev *pdev)
|
|
|
}
|
|
|
|
|
|
|
|
|
-#ifdef CONFIG_PM
|
|
|
-/*
|
|
|
- * NOTE: I don't know if this is correct, or will work on the ep93xx.
|
|
|
- *
|
|
|
- * None of the existing ep93xx drivers have power management support.
|
|
|
- * But, this is basically what the pxa27x_keypad driver does.
|
|
|
- */
|
|
|
-static int ep93xx_keypad_suspend(struct platform_device *pdev,
|
|
|
- pm_message_t state)
|
|
|
+#ifdef CONFIG_PM_SLEEP
|
|
|
+static int ep93xx_keypad_suspend(struct device *dev)
|
|
|
{
|
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
|
struct ep93xx_keypad *keypad = platform_get_drvdata(pdev);
|
|
|
struct input_dev *input_dev = keypad->input_dev;
|
|
|
|
|
@@ -210,8 +204,9 @@ static int ep93xx_keypad_suspend(struct platform_device *pdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int ep93xx_keypad_resume(struct platform_device *pdev)
|
|
|
+static int ep93xx_keypad_resume(struct device *dev)
|
|
|
{
|
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
|
struct ep93xx_keypad *keypad = platform_get_drvdata(pdev);
|
|
|
struct input_dev *input_dev = keypad->input_dev;
|
|
|
|
|
@@ -232,10 +227,10 @@ static int ep93xx_keypad_resume(struct platform_device *pdev)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-#else /* !CONFIG_PM */
|
|
|
-#define ep93xx_keypad_suspend NULL
|
|
|
-#define ep93xx_keypad_resume NULL
|
|
|
-#endif /* !CONFIG_PM */
|
|
|
+#endif
|
|
|
+
|
|
|
+static SIMPLE_DEV_PM_OPS(ep93xx_keypad_pm_ops,
|
|
|
+ ep93xx_keypad_suspend, ep93xx_keypad_resume);
|
|
|
|
|
|
static int __devinit ep93xx_keypad_probe(struct platform_device *pdev)
|
|
|
{
|
|
@@ -384,11 +379,10 @@ static struct platform_driver ep93xx_keypad_driver = {
|
|
|
.driver = {
|
|
|
.name = "ep93xx-keypad",
|
|
|
.owner = THIS_MODULE,
|
|
|
+ .pm = &ep93xx_keypad_pm_ops,
|
|
|
},
|
|
|
.probe = ep93xx_keypad_probe,
|
|
|
.remove = __devexit_p(ep93xx_keypad_remove),
|
|
|
- .suspend = ep93xx_keypad_suspend,
|
|
|
- .resume = ep93xx_keypad_resume,
|
|
|
};
|
|
|
module_platform_driver(ep93xx_keypad_driver);
|
|
|
|