Input: ads7846 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 2 Jan 2023 18:18:04 +0000 (18:18 +0000)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 10 Jan 2023 04:25:24 +0000 (20:25 -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 __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230102181842.718010-32-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ads7846.c

index bed68a6..4c3dd01 100644 (file)
@@ -944,7 +944,7 @@ static irqreturn_t ads7846_irq(int irq, void *handle)
        return IRQ_HANDLED;
 }
 
-static int __maybe_unused ads7846_suspend(struct device *dev)
+static int ads7846_suspend(struct device *dev)
 {
        struct ads7846 *ts = dev_get_drvdata(dev);
 
@@ -966,7 +966,7 @@ static int __maybe_unused ads7846_suspend(struct device *dev)
        return 0;
 }
 
-static int __maybe_unused ads7846_resume(struct device *dev)
+static int ads7846_resume(struct device *dev)
 {
        struct ads7846 *ts = dev_get_drvdata(dev);
 
@@ -988,7 +988,7 @@ static int __maybe_unused ads7846_resume(struct device *dev)
        return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(ads7846_pm, ads7846_suspend, ads7846_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(ads7846_pm, ads7846_suspend, ads7846_resume);
 
 static int ads7846_setup_pendown(struct spi_device *spi,
                                 struct ads7846 *ts,
@@ -1421,7 +1421,7 @@ static void ads7846_remove(struct spi_device *spi)
 static struct spi_driver ads7846_driver = {
        .driver = {
                .name   = "ads7846",
-               .pm     = &ads7846_pm,
+               .pm     = pm_sleep_ptr(&ads7846_pm),
                .of_match_table = of_match_ptr(ads7846_dt_ids),
        },
        .probe          = ads7846_probe,