serial: 8250: omap: convert to modern PM ops
authorArnd Bergmann <arnd@arndb.de>
Wed, 17 May 2023 20:20:07 +0000 (22:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:16 +0000 (12:03 +0200)
commit ae62c49c0ceff20dc7c1fad4a5b8f91d64b4f628 upstream.

The new uart_write() function is only called from suspend/resume code, causing
a build warning when those are left out:

drivers/tty/serial/8250/8250_omap.c:169:13: error: 'uart_write' defined but not used [-Werror=unused-function]

Remove the #ifdefs and use the modern pm_ops/pm_sleep_ops and their wrappers
to let the compiler see where it's used but still drop the dead code.

Fixes: 398cecc24846 ("serial: 8250: omap: Fix imprecise external abort for omap_8250_pm()")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20230517202012.634386-1-arnd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_omap.c

index 33d70de..2e21f74 100644 (file)
@@ -1487,7 +1487,6 @@ static int omap8250_remove(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int omap8250_prepare(struct device *dev)
 {
        struct omap8250_priv *priv = dev_get_drvdata(dev);
@@ -1547,12 +1546,7 @@ static int omap8250_resume(struct device *dev)
 
        return 0;
 }
-#else
-#define omap8250_prepare NULL
-#define omap8250_complete NULL
-#endif
 
-#ifdef CONFIG_PM
 static int omap8250_lost_context(struct uart_8250_port *up)
 {
        u32 val;
@@ -1664,7 +1658,6 @@ static int omap8250_runtime_resume(struct device *dev)
        schedule_work(&priv->qos_work);
        return 0;
 }
-#endif
 
 #ifdef CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
 static int __init omap8250_console_fixup(void)
@@ -1707,17 +1700,17 @@ console_initcall(omap8250_console_fixup);
 #endif
 
 static const struct dev_pm_ops omap8250_dev_pm_ops = {
-       SET_SYSTEM_SLEEP_PM_OPS(omap8250_suspend, omap8250_resume)
-       SET_RUNTIME_PM_OPS(omap8250_runtime_suspend,
+       SYSTEM_SLEEP_PM_OPS(omap8250_suspend, omap8250_resume)
+       RUNTIME_PM_OPS(omap8250_runtime_suspend,
                           omap8250_runtime_resume, NULL)
-       .prepare        = omap8250_prepare,
-       .complete       = omap8250_complete,
+       .prepare        = pm_sleep_ptr(omap8250_prepare),
+       .complete       = pm_sleep_ptr(omap8250_complete),
 };
 
 static struct platform_driver omap8250_platform_driver = {
        .driver = {
                .name           = "omap8250",
-               .pm             = &omap8250_dev_pm_ops,
+               .pm             = pm_ptr(&omap8250_dev_pm_ops),
                .of_match_table = omap8250_dt_ids,
        },
        .probe                  = omap8250_probe,