From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> 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 __maybe_unused markings. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> --- drivers/input/keyboard/spear-keyboard.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c index 9838c79cb288..4bb7c533147c 100644 --- a/drivers/input/keyboard/spear-keyboard.c +++ b/drivers/input/keyboard/spear-keyboard.c @@ -284,7 +284,7 @@ static int spear_kbd_remove(struct platform_device *pdev) return 0; } -static int __maybe_unused spear_kbd_suspend(struct device *dev) +static int spear_kbd_suspend(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); struct spear_kbd *kbd = platform_get_drvdata(pdev); @@ -337,7 +337,7 @@ static int __maybe_unused spear_kbd_suspend(struct device *dev) return 0; } -static int __maybe_unused spear_kbd_resume(struct device *dev) +static int spear_kbd_resume(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); struct spear_kbd *kbd = platform_get_drvdata(pdev); @@ -364,7 +364,8 @@ static int __maybe_unused spear_kbd_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(spear_kbd_pm_ops, spear_kbd_suspend, spear_kbd_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(spear_kbd_pm_ops, + spear_kbd_suspend, spear_kbd_resume); #ifdef CONFIG_OF static const struct of_device_id spear_kbd_id_table[] = { @@ -379,7 +380,7 @@ static struct platform_driver spear_kbd_driver = { .remove = spear_kbd_remove, .driver = { .name = "keyboard", - .pm = &spear_kbd_pm_ops, + .pm = pm_sleep_ptr(&spear_kbd_pm_ops), .of_match_table = of_match_ptr(spear_kbd_id_table), }, }; -- 2.38.1