Hi, On 1/2/23 19:18, Jonathan Cameron wrote: > 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: Hans de Goede <hdegoede@xxxxxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > --- > drivers/input/touchscreen/chipone_icn8318.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/input/touchscreen/chipone_icn8318.c b/drivers/input/touchscreen/chipone_icn8318.c > index f6769e4bd4f2..32b714a6ed2d 100644 > --- a/drivers/input/touchscreen/chipone_icn8318.c > +++ b/drivers/input/touchscreen/chipone_icn8318.c > @@ -148,7 +148,6 @@ static void icn8318_stop(struct input_dev *dev) > gpiod_set_value_cansleep(data->wake_gpio, 0); > } > > -#ifdef CONFIG_PM_SLEEP > static int icn8318_suspend(struct device *dev) > { > struct icn8318_data *data = i2c_get_clientdata(to_i2c_client(dev)); > @@ -172,9 +171,8 @@ static int icn8318_resume(struct device *dev) > > return 0; > } > -#endif > > -static SIMPLE_DEV_PM_OPS(icn8318_pm_ops, icn8318_suspend, icn8318_resume); > +static DEFINE_SIMPLE_DEV_PM_OPS(icn8318_pm_ops, icn8318_suspend, icn8318_resume); > > static int icn8318_probe(struct i2c_client *client) > { > @@ -263,7 +261,7 @@ MODULE_DEVICE_TABLE(i2c, icn8318_i2c_id); > static struct i2c_driver icn8318_driver = { > .driver = { > .name = "chipone_icn8318", > - .pm = &icn8318_pm_ops, > + .pm = pm_sleep_ptr(&icn8318_pm_ops), > .of_match_table = icn8318_of_match, > }, > .probe_new = icn8318_probe,