Re: [PATCH] remoteproc: stm32: fix incorrect optional pointers

From: Arnaud POULIQUEN
Date: Wed Aug 16 2023 - 09:17:59 EST


Hello Arnd,

On 7/24/23 21:56, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> 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@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202307242300.ia82qBTp-lkp@xxxxxxxxx
> Fixes: 03bd158e1535e ("remoteproc: stm32: use correct format strings on 64-bit")
> Fixes: 410119ee29b6c ("remoteproc: stm32: wakeup the system by wdg irq")
> Fixes: 13140de09cc2d ("remoteproc: stm32: add an ST stm32_rproc driver")

The checkpatch complains here as you put 13 char instead of 12 for the sha1.
I don't know if this can generate issue for scripts...

w or w/o the fix:

acked-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxxxxxxx>

Thanks!
Arnaud

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/remoteproc/stm32_rproc.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c
> index 98234b44f0389..9d9b13530f78a 100644
> --- a/drivers/remoteproc/stm32_rproc.c
> +++ b/drivers/remoteproc/stm32_rproc.c
> @@ -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);