Re: [PATCH] media: nxp: ignore unused suspend operations

From: Hans Verkuil
Date: Tue Apr 18 2023 - 04:06:01 EST


Hi Arnd,

On 18/04/2023 09:15, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> gcc warns about some functions being unused when CONFIG_PM is
> disabled:

???

The Kconfig has a:

depends on HAS_DMA && PM

So how can this be compiled with CONFIG_PM not set?

Am I missing something?

Hans

>
> drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c:328:12: error: 'mxc_isi_pm_resume' defined but not used [-Werror=unused-function]
> 328 | static int mxc_isi_pm_resume(struct device *dev)
> | ^~~~~~~~~~~~~~~~~
> drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c:314:12: error: 'mxc_isi_pm_suspend' defined but not used [-Werror=unused-function]
> 314 | static int mxc_isi_pm_suspend(struct device *dev)
> | ^~~~~~~~~~~~~~~~~~
>
> Use the modern SYSTEM_SLEEP_PM_OPS()/RUNTIME_PM_OPS() helpers in place
> of the old SET_SYSTEM_SLEEP_PM_OPS()/SET_RUNTIME_PM_OPS() ones, and add
> a pm_ptr() check to ensure they get dropped by the compiler.
>
> Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
> index 238521622b75..253e77189b69 100644
> --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
> +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
> @@ -378,8 +378,8 @@ static int mxc_isi_runtime_resume(struct device *dev)
> }
>
> static const struct dev_pm_ops mxc_isi_pm_ops = {
> - SET_SYSTEM_SLEEP_PM_OPS(mxc_isi_pm_suspend, mxc_isi_pm_resume)
> - SET_RUNTIME_PM_OPS(mxc_isi_runtime_suspend, mxc_isi_runtime_resume, NULL)
> + SYSTEM_SLEEP_PM_OPS(mxc_isi_pm_suspend, mxc_isi_pm_resume)
> + RUNTIME_PM_OPS(mxc_isi_runtime_suspend, mxc_isi_runtime_resume, NULL)
> };
>
> /* -----------------------------------------------------------------------------
> @@ -528,7 +528,7 @@ static struct platform_driver mxc_isi_driver = {
> .driver = {
> .of_match_table = mxc_isi_of_match,
> .name = MXC_ISI_DRIVER_NAME,
> - .pm = &mxc_isi_pm_ops,
> + .pm = pm_ptr(&mxc_isi_pm_ops),
> }
> };
> module_platform_driver(mxc_isi_driver);