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 ifdef guards. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> --- drivers/input/keyboard/tca6416-keypad.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/input/keyboard/tca6416-keypad.c b/drivers/input/keyboard/tca6416-keypad.c index 281d9ec163cc..673b905af6fe 100644 --- a/drivers/input/keyboard/tca6416-keypad.c +++ b/drivers/input/keyboard/tca6416-keypad.c @@ -320,7 +320,6 @@ static void tca6416_keypad_remove(struct i2c_client *client) kfree(chip); } -#ifdef CONFIG_PM_SLEEP static int tca6416_keypad_suspend(struct device *dev) { struct i2c_client *client = to_i2c_client(dev); @@ -342,15 +341,14 @@ static int tca6416_keypad_resume(struct device *dev) return 0; } -#endif -static SIMPLE_DEV_PM_OPS(tca6416_keypad_dev_pm_ops, - tca6416_keypad_suspend, tca6416_keypad_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(tca6416_keypad_dev_pm_ops, + tca6416_keypad_suspend, tca6416_keypad_resume); static struct i2c_driver tca6416_keypad_driver = { .driver = { .name = "tca6416-keypad", - .pm = &tca6416_keypad_dev_pm_ops, + .pm = pm_sleep_ptr(&tca6416_keypad_dev_pm_ops), }, .probe_new = tca6416_keypad_probe, .remove = tca6416_keypad_remove, -- 2.38.1