[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<DU0PR04MB94962993C99F922CCF93FB6F9034A@DU0PR04MB9496.eurprd04.prod.outlook.com>
Date: Fri, 15 Aug 2025 03:23:56 +0000
From: Bough Chen <haibo.chen@....com>
To: Jisheng Zhang <jszhang@...nel.org>, Ulf Hansson <ulf.hansson@...aro.org>,
Aubin Constans <aubin.constans@...rochip.com>, Nicolas Ferre
<nicolas.ferre@...rochip.com>, Alexandre Belloni
<alexandre.belloni@...tlin.com>, Claudiu Beznea <claudiu.beznea@...on.dev>,
Manuel Lauss <manuel.lauss@...il.com>,
Micha©© Miros©©aw <mirq-linux@...e.qmqm.pl>,
Jaehoon Chung <jh80.chung@...sung.com>, Krzysztof Kozlowski
<krzk@...nel.org>, Alim Akhtar <alim.akhtar@...sung.com>, Heiko Stuebner
<heiko@...ech.de>, Russell King <linux@...linux.org.uk>, Chaotian Jing
<chaotian.jing@...iatek.com>, Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>, Shawn
Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix
Kernel Team <kernel@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
Adrian Hunter <adrian.hunter@...el.com>, Kamal Dasu
<kamal.dasu@...adcom.com>, Al Cooper <alcooperx@...il.com>, Broadcom internal
kernel review list <bcm-kernel-feedback-list@...adcom.com>, Florian Fainelli
<florian.fainelli@...adcom.com>, Michal Simek <michal.simek@....com>, Eugen
Hristev <eugen.hristev@...aro.org>, Vignesh Raghavendra <vigneshr@...com>,
Ben Dooks <ben-linux@...ff.org>, Viresh Kumar <vireshk@...nel.org>, Orson
Zhai <orsonzhai@...il.com>, Baolin Wang <baolin.wang@...ux.alibaba.com>,
Chunyan Zhang <zhang.lyra@...il.com>, Patrice Chotard
<patrice.chotard@...s.st.com>, Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>, Chen-Yu Tsai <wens@...e.org>, Jernej
Skrabec <jernej.skrabec@...il.com>, Samuel Holland <samuel@...lland.org>,
Alexey Charkov <alchark@...il.com>
CC: "linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 18/38] mmc: sdhci-esdhc-imx: use modern PM macros
> -----Original Message-----
> From: Jisheng Zhang <jszhang@...nel.org>
> Sent: 2025Ò´8êÅ15ìí 9:34
> To: Ulf Hansson <ulf.hansson@...aro.org>; Aubin Constans
> <aubin.constans@...rochip.com>; Nicolas Ferre
> <nicolas.ferre@...rochip.com>; Alexandre Belloni
> <alexandre.belloni@...tlin.com>; Claudiu Beznea
> <claudiu.beznea@...on.dev>; Manuel Lauss <manuel.lauss@...il.com>;
> Micha©© Miros©©aw <mirq-linux@...e.qmqm.pl>; Jaehoon Chung
> <jh80.chung@...sung.com>; Krzysztof Kozlowski <krzk@...nel.org>; Alim
> Akhtar <alim.akhtar@...sung.com>; Heiko Stuebner <heiko@...ech.de>;
> Russell King <linux@...linux.org.uk>; Chaotian Jing
> <chaotian.jing@...iatek.com>; Matthias Brugger <matthias.bgg@...il.com>;
> AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>;
> Shawn Guo <shawnguo@...nel.org>; Sascha Hauer <s.hauer@...gutronix.de>;
> Pengutronix Kernel Team <kernel@...gutronix.de>; Fabio Estevam
> <festevam@...il.com>; Adrian Hunter <adrian.hunter@...el.com>; Kamal
> Dasu <kamal.dasu@...adcom.com>; Al Cooper <alcooperx@...il.com>;
> Broadcom internal kernel review list
> <bcm-kernel-feedback-list@...adcom.com>; Florian Fainelli
> <florian.fainelli@...adcom.com>; Bough Chen <haibo.chen@....com>; Michal
> Simek <michal.simek@....com>; Eugen Hristev <eugen.hristev@...aro.org>;
> Vignesh Raghavendra <vigneshr@...com>; Ben Dooks <ben-linux@...ff.org>;
> Viresh Kumar <vireshk@...nel.org>; Orson Zhai <orsonzhai@...il.com>;
> Baolin Wang <baolin.wang@...ux.alibaba.com>; Chunyan Zhang
> <zhang.lyra@...il.com>; Patrice Chotard <patrice.chotard@...s.st.com>;
> Thierry Reding <thierry.reding@...il.com>; Jonathan Hunter
> <jonathanh@...dia.com>; Chen-Yu Tsai <wens@...e.org>; Jernej Skrabec
> <jernej.skrabec@...il.com>; Samuel Holland <samuel@...lland.org>; Alexey
> Charkov <alchark@...il.com>
> Cc: linux-mmc@...r.kernel.org; linux-kernel@...r.kernel.org
> Subject: [PATCH 18/38] mmc: sdhci-esdhc-imx: use modern PM macros
>
> Use the modern PM macros for the suspend and resume functions to be
> automatically dropped by the compiler when CONFIG_PM or
> CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards.
>
> This has the advantage of always compiling these functions in, independently of
> any Kconfig option. Thanks to that, bugs and other regressions are subsequently
> easier to catch.
Hi Jisheng,
When I remove all the configs under Power management options I got the following build warning:
drivers/mmc/host/sdhci-esdhc-imx.c:2079:12: warning: ¡®sdhci_esdhc_resume¡¯ defined but not used [-Wunused-function]
2079 | static int sdhci_esdhc_resume(struct device *dev)
| ^~~~~~~~~~~~~~~~~~
CC drivers/mmc/host/cqhci-core.o
drivers/mmc/host/sdhci-esdhc-imx.c:2017:12: warning: ¡®sdhci_esdhc_suspend¡¯ defined but not used [-Wunused-function]
2017 | static int sdhci_esdhc_suspend(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~
Regards
Haibo Chen
>
> Signed-off-by: Jisheng Zhang <jszhang@...nel.org>
> ---
> drivers/mmc/host/sdhci-esdhc-imx.c | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c
> b/drivers/mmc/host/sdhci-esdhc-imx.c
> index a040c0896a7b..a7a5df673b0f 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -1650,7 +1650,6 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host
> *host)
> }
> }
>
> -#ifdef CONFIG_PM_SLEEP
> static void sdhc_esdhc_tuning_save(struct sdhci_host *host) {
> struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); @@ -1707,7
> +1706,6 @@ static void sdhc_esdhc_tuning_restore(struct sdhci_host *host)
> host->ioaddr + ESDHC_TUNE_CTRL_STATUS);
> }
> }
> -#endif
>
> static void esdhc_cqe_enable(struct mmc_host *mmc) { @@ -2016,7
> +2014,6 @@ static void sdhci_esdhc_imx_remove(struct platform_device
> *pdev)
> cpu_latency_qos_remove_request(&imx_data->pm_qos_req);
> }
>
> -#ifdef CONFIG_PM_SLEEP
> static int sdhci_esdhc_suspend(struct device *dev) {
> struct sdhci_host *host = dev_get_drvdata(dev); @@ -2112,9 +2109,7 @@
> static int sdhci_esdhc_resume(struct device *dev)
>
> return ret;
> }
> -#endif
>
> -#ifdef CONFIG_PM
> static int sdhci_esdhc_runtime_suspend(struct device *dev) {
> struct sdhci_host *host = dev_get_drvdata(dev); @@ -2188,12 +2183,10
> @@ static int sdhci_esdhc_runtime_resume(struct device *dev)
> cpu_latency_qos_remove_request(&imx_data->pm_qos_req);
> return err;
> }
> -#endif
>
> static const struct dev_pm_ops sdhci_esdhc_pmops = {
> - SET_SYSTEM_SLEEP_PM_OPS(sdhci_esdhc_suspend, sdhci_esdhc_resume)
> - SET_RUNTIME_PM_OPS(sdhci_esdhc_runtime_suspend,
> - sdhci_esdhc_runtime_resume, NULL)
> + SYSTEM_SLEEP_PM_OPS(sdhci_esdhc_suspend, sdhci_esdhc_resume)
> + RUNTIME_PM_OPS(sdhci_esdhc_runtime_suspend,
> +sdhci_esdhc_runtime_resume, NULL)
> };
>
> static struct platform_driver sdhci_esdhc_imx_driver = { @@ -2201,7 +2194,7
> @@ static struct platform_driver sdhci_esdhc_imx_driver = {
> .name = "sdhci-esdhc-imx",
> .probe_type = PROBE_PREFER_ASYNCHRONOUS,
> .of_match_table = imx_esdhc_dt_ids,
> - .pm = &sdhci_esdhc_pmops,
> + .pm = pm_ptr(&sdhci_esdhc_pmops),
> },
> .probe = sdhci_esdhc_imx_probe,
> .remove = sdhci_esdhc_imx_remove,
> --
> 2.50.0
Powered by blists - more mailing lists