Input: tsc200x - use EXPORT_GPL_SIMPLE_DEV_PM_OPS()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 14 Jan 2023 17:16:13 +0000 (17:16 +0000)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 27 Jan 2023 22:49:53 +0000 (14:49 -0800)
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and EXPORT_GPL_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.
This function also removes the need for separate EXPORT_SYMBOL_GPL()

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20230114171620.42891-10-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/tsc2004.c
drivers/input/touchscreen/tsc2005.c
drivers/input/touchscreen/tsc200x-core.c

index 575768b..45f39eb 100644 (file)
@@ -65,7 +65,7 @@ static struct i2c_driver tsc2004_driver = {
        .driver = {
                .name   = "tsc2004",
                .of_match_table = of_match_ptr(tsc2004_of_match),
-               .pm     = &tsc200x_pm_ops,
+               .pm     = pm_sleep_ptr(&tsc200x_pm_ops),
        },
        .id_table       = tsc2004_idtable,
        .probe_new      = tsc2004_probe,
index 555dfe9..b6dfbcf 100644 (file)
@@ -81,7 +81,7 @@ static struct spi_driver tsc2005_driver = {
        .driver = {
                .name   = "tsc2005",
                .of_match_table = of_match_ptr(tsc2005_of_match),
-               .pm     = &tsc200x_pm_ops,
+               .pm     = pm_sleep_ptr(&tsc200x_pm_ops),
        },
        .probe  = tsc2005_probe,
        .remove = tsc2005_remove,
index 72c7258..b799f26 100644 (file)
@@ -588,7 +588,7 @@ void tsc200x_remove(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(tsc200x_remove);
 
-static int __maybe_unused tsc200x_suspend(struct device *dev)
+static int tsc200x_suspend(struct device *dev)
 {
        struct tsc200x *ts = dev_get_drvdata(dev);
 
@@ -604,7 +604,7 @@ static int __maybe_unused tsc200x_suspend(struct device *dev)
        return 0;
 }
 
-static int __maybe_unused tsc200x_resume(struct device *dev)
+static int tsc200x_resume(struct device *dev)
 {
        struct tsc200x *ts = dev_get_drvdata(dev);
 
@@ -620,8 +620,7 @@ static int __maybe_unused tsc200x_resume(struct device *dev)
        return 0;
 }
 
-SIMPLE_DEV_PM_OPS(tsc200x_pm_ops, tsc200x_suspend, tsc200x_resume);
-EXPORT_SYMBOL_GPL(tsc200x_pm_ops);
+EXPORT_GPL_SIMPLE_DEV_PM_OPS(tsc200x_pm_ops, tsc200x_suspend, tsc200x_resume);
 
 MODULE_AUTHOR("Lauri Leukkunen <lauri.leukkunen@nokia.com>");
 MODULE_DESCRIPTION("TSC200x Touchscreen Driver Core");