Input: pxa27x_keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 4 Dec 2022 18:08:29 +0000 (18:08 +0000)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 7 Dec 2022 21:27:58 +0000 (13:27 -0800)
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-21-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/pxa27x_keypad.c

index a7f8257c8a02f498203c4de1d7498e4f8bd31534..871f858d0ba78a5bb79b6f8aa9d78bcf7ebc0b44 100644 (file)
@@ -660,7 +660,6 @@ static void pxa27x_keypad_close(struct input_dev *dev)
        clk_disable_unprepare(keypad->clk);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int pxa27x_keypad_suspend(struct device *dev)
 {
        struct platform_device *pdev = to_platform_device(dev);
@@ -706,10 +705,9 @@ static int pxa27x_keypad_resume(struct device *dev)
 
        return ret;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(pxa27x_keypad_pm_ops,
-                        pxa27x_keypad_suspend, pxa27x_keypad_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(pxa27x_keypad_pm_ops,
+                               pxa27x_keypad_suspend, pxa27x_keypad_resume);
 
 
 static int pxa27x_keypad_probe(struct platform_device *pdev)
@@ -830,7 +828,7 @@ static struct platform_driver pxa27x_keypad_driver = {
        .driver         = {
                .name   = "pxa27x-keypad",
                .of_match_table = of_match_ptr(pxa27x_keypad_dt_match),
-               .pm     = &pxa27x_keypad_pm_ops,
+               .pm     = pm_sleep_ptr(&pxa27x_keypad_pm_ops),
        },
 };
 module_platform_driver(pxa27x_keypad_driver);