From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 77967C77B75 for ; Tue, 18 Apr 2023 08:19:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231186AbjDRITx (ORCPT ); Tue, 18 Apr 2023 04:19:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231414AbjDRITu (ORCPT ); Tue, 18 Apr 2023 04:19:50 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06A3F199A; Tue, 18 Apr 2023 01:19:49 -0700 (PDT) Received: from pendragon.ideasonboard.com (133-32-181-51.west.xps.vectant.ne.jp [133.32.181.51]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id ECC3F802; Tue, 18 Apr 2023 10:19:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1681805981; bh=wN7NdoGRogrcSOSoTZADq/O1clR+JvyzJUQnBed2uhE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Gvd0/3nQr1Xo2VGutiqiIAKFK1myDWE/Zd3g2zN+ExUQAHiRhBXoafIlkQp1SuzX0 U5ZmU6cpvaw6sfrWwVcxq/8HJK4EI7lAHrJ8Z79yrXHMUvaGAmc9uomTamlNe8fd6h dmbO/YiSFb0g0x7sS+e4Q/spetZ1pe6JDdkezfHg= Date: Tue, 18 Apr 2023 11:19:59 +0300 From: Laurent Pinchart To: Hans Verkuil Cc: Arnd Bergmann , Mauro Carvalho Chehab , Shawn Guo , Sascha Hauer , Dong Aisheng , Guoniu Zhou , Stefan Riedmueller , Arnd Bergmann , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Christian Hemp , Jacopo Mondi , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] media: nxp: ignore unused suspend operations Message-ID: <20230418081959.GB30837@pendragon.ideasonboard.com> References: <20230418071605.2971866-1-arnd@kernel.org> <695e9f88-5a79-7ca4-645f-047b78495a80@xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <695e9f88-5a79-7ca4-645f-047b78495a80@xs4all.nl> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > > > > 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. > > 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 > > --- > > 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); -- Regards, Laurent Pinchart