remoteproc: stm32: fix incorrect optional pointers
authorArnd Bergmann <arnd@arndb.de>
Mon, 24 Jul 2023 19:56:49 +0000 (21:56 +0200)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Mon, 21 Aug 2023 21:18:24 +0000 (15:18 -0600)
Compile-testing without CONFIG_OF shows that the of_match_ptr() macro
was used incorrectly here:

drivers/remoteproc/stm32_rproc.c:662:34: warning: unused variable 'stm32_rproc_match' [-Wunused-const-variable]

As in almost every driver, the solution is simply to remove the
use of this macro. The same thing happened with the deprecated
SIMPLE_DEV_PM_OPS(), but the corresponding warning was already shut
up with __maybe_unused annotations, so fix those as well by using the
correct DEFINE_SIMPLE_DEV_PM_OPS() macros and removing the extraneous
__maybe_unused modifiers. For completeness, also add a pm_ptr() to let
the PM ops be eliminated completely when CONFIG_PM is turned off.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202307242300.ia82qBTp-lkp@intel.com
Fixes: 03bd158e1535 ("remoteproc: stm32: use correct format strings on 64-bit")
Fixes: 410119ee29b6 ("remoteproc: stm32: wakeup the system by wdg irq")
Fixes: 13140de09cc2 ("remoteproc: stm32: add an ST stm32_rproc driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Link: https://lore.kernel.org/r/20230724195704.2432382-1-arnd@kernel.org
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/remoteproc/stm32_rproc.c

index 98234b4..9d9b135 100644 (file)
@@ -921,7 +921,7 @@ static void stm32_rproc_remove(struct platform_device *pdev)
        rproc_free(rproc);
 }
 
-static int __maybe_unused stm32_rproc_suspend(struct device *dev)
+static int stm32_rproc_suspend(struct device *dev)
 {
        struct rproc *rproc = dev_get_drvdata(dev);
        struct stm32_rproc *ddata = rproc->priv;
@@ -932,7 +932,7 @@ static int __maybe_unused stm32_rproc_suspend(struct device *dev)
        return 0;
 }
 
-static int __maybe_unused stm32_rproc_resume(struct device *dev)
+static int stm32_rproc_resume(struct device *dev)
 {
        struct rproc *rproc = dev_get_drvdata(dev);
        struct stm32_rproc *ddata = rproc->priv;
@@ -943,16 +943,16 @@ static int __maybe_unused stm32_rproc_resume(struct device *dev)
        return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(stm32_rproc_pm_ops,
-                        stm32_rproc_suspend, stm32_rproc_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(stm32_rproc_pm_ops,
+                               stm32_rproc_suspend, stm32_rproc_resume);
 
 static struct platform_driver stm32_rproc_driver = {
        .probe = stm32_rproc_probe,
        .remove_new = stm32_rproc_remove,
        .driver = {
                .name = "stm32-rproc",
-               .pm = &stm32_rproc_pm_ops,
-               .of_match_table = of_match_ptr(stm32_rproc_match),
+               .pm = pm_ptr(&stm32_rproc_pm_ops),
+               .of_match_table = stm32_rproc_match,
        },
 };
 module_platform_driver(stm32_rproc_driver);