Hi Arnd, On 18/04/2023 10:19, Laurent Pinchart wrote: > On Tue, Apr 18, 2023 at 10:04:13AM +0200, Hans Verkuil wrote: >> 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? > > The warning appears when CONFIG_PM_SLEEP is disabled. The pm_ptr() > change is thus not useful, but the switch to SYSTEM_SLEEP_PM_OPS() and > RUNTIME_PM_OPS() make a difference. Can you post a v3? Thank you! 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); >