To improve compile-time coverage let's drop #ifdef CONFIG_PM guards and use SIMPLE_DEV_PM_OPS and __maybe_unused attributes and rely on the linker to drop unused code. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> --- Since we are talking about keeping the driver and switching it away from platform data and towards device properties, here are some cleanups. Only compiled, not tested. drivers/input/keyboard/adp5588-keys.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c index 1592da4de336..ea67d0834be1 100644 --- a/drivers/input/keyboard/adp5588-keys.c +++ b/drivers/input/keyboard/adp5588-keys.c @@ -612,8 +612,7 @@ static int adp5588_remove(struct i2c_client *client) return 0; } -#ifdef CONFIG_PM -static int adp5588_suspend(struct device *dev) +static int __maybe_unused adp5588_suspend(struct device *dev) { struct adp5588_kpad *kpad = dev_get_drvdata(dev); struct i2c_client *client = kpad->client; @@ -627,7 +626,7 @@ static int adp5588_suspend(struct device *dev) return 0; } -static int adp5588_resume(struct device *dev) +static int __maybe_unused adp5588_resume(struct device *dev) { struct adp5588_kpad *kpad = dev_get_drvdata(dev); struct i2c_client *client = kpad->client; @@ -640,11 +639,7 @@ static int adp5588_resume(struct device *dev) return 0; } -static const struct dev_pm_ops adp5588_dev_pm_ops = { - .suspend = adp5588_suspend, - .resume = adp5588_resume, -}; -#endif +static SIMPLE_DEV_PM_OPS(adp5588_dev_pm_ops, adp5588_suspend, adp5588_resume); static const struct i2c_device_id adp5588_id[] = { { "adp5588-keys", 0 }, @@ -656,9 +651,7 @@ MODULE_DEVICE_TABLE(i2c, adp5588_id); static struct i2c_driver adp5588_driver = { .driver = { .name = KBUILD_MODNAME, -#ifdef CONFIG_PM .pm = &adp5588_dev_pm_ops, -#endif }, .probe = adp5588_probe, .remove = adp5588_remove, -- 2.36.1.124.g0e6072fb45-goog