Message ID | 20241229-update_pm_macro-v1-2-c7d4c4856336@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() | expand |
Hi Raphael, kernel test robot noticed the following build errors: [auto build test ERROR on 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2] url: https://github.com/intel-lab-lkp/linux/commits/Raphael-Gallais-Pou/usb-dwc3-st-Switch-from-CONFIG_PM_SLEEP-guards-to-pm_sleep_ptr/20241229-073700 base: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2 patch link: https://lore.kernel.org/r/20241229-update_pm_macro-v1-2-c7d4c4856336%40gmail.com patch subject: [PATCH 2/6] mmc: sdhci-st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() config: hexagon-randconfig-001-20241229 (https://download.01.org/0day-ci/archive/20241229/202412290939.43oNt9t6-lkp@intel.com/config) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 319b89197348b7cad1215e235bdc7b5ec8f9b72c) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241229/202412290939.43oNt9t6-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202412290939.43oNt9t6-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/mmc/host/sdhci-st.c:460:8: error: call to undeclared function 'sdhci_suspend_host'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 460 | ret = sdhci_suspend_host(host); | ^ >> drivers/mmc/host/sdhci-st.c:494:9: error: call to undeclared function 'sdhci_resume_host'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 494 | return sdhci_resume_host(host); | ^ drivers/mmc/host/sdhci-st.c:494:9: note: did you mean 'sdhci_remove_host'? drivers/mmc/host/sdhci.h:827:6: note: 'sdhci_remove_host' declared here 827 | void sdhci_remove_host(struct sdhci_host *host, int dead); | ^ 2 errors generated. vim +/sdhci_suspend_host +460 drivers/mmc/host/sdhci-st.c f52d9c4f459bda Peter Griffin 2014-07-09 449 f52d9c4f459bda Peter Griffin 2014-07-09 450 static int sdhci_st_suspend(struct device *dev) f52d9c4f459bda Peter Griffin 2014-07-09 451 { f52d9c4f459bda Peter Griffin 2014-07-09 452 struct sdhci_host *host = dev_get_drvdata(dev); f52d9c4f459bda Peter Griffin 2014-07-09 453 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); 1531675269c833 Jisheng Zhang 2016-02-16 454 struct st_mmc_platform_data *pdata = sdhci_pltfm_priv(pltfm_host); d38dcad4e7b48f Adrian Hunter 2017-03-20 455 int ret; d38dcad4e7b48f Adrian Hunter 2017-03-20 456 d38dcad4e7b48f Adrian Hunter 2017-03-20 457 if (host->tuning_mode != SDHCI_TUNING_MODE_3) d38dcad4e7b48f Adrian Hunter 2017-03-20 458 mmc_retune_needed(host->mmc); f52d9c4f459bda Peter Griffin 2014-07-09 459 d38dcad4e7b48f Adrian Hunter 2017-03-20 @460 ret = sdhci_suspend_host(host); f52d9c4f459bda Peter Griffin 2014-07-09 461 if (ret) f52d9c4f459bda Peter Griffin 2014-07-09 462 goto out; f52d9c4f459bda Peter Griffin 2014-07-09 463 406c24310a7bd7 Peter Griffin 2015-04-10 464 reset_control_assert(pdata->rstc); 406c24310a7bd7 Peter Griffin 2015-04-10 465 3ae50f4512ce83 Lee Jones 2016-09-08 466 clk_disable_unprepare(pdata->icnclk); f52d9c4f459bda Peter Griffin 2014-07-09 467 clk_disable_unprepare(pltfm_host->clk); f52d9c4f459bda Peter Griffin 2014-07-09 468 out: f52d9c4f459bda Peter Griffin 2014-07-09 469 return ret; f52d9c4f459bda Peter Griffin 2014-07-09 470 } f52d9c4f459bda Peter Griffin 2014-07-09 471 f52d9c4f459bda Peter Griffin 2014-07-09 472 static int sdhci_st_resume(struct device *dev) f52d9c4f459bda Peter Griffin 2014-07-09 473 { f52d9c4f459bda Peter Griffin 2014-07-09 474 struct sdhci_host *host = dev_get_drvdata(dev); f52d9c4f459bda Peter Griffin 2014-07-09 475 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); 1531675269c833 Jisheng Zhang 2016-02-16 476 struct st_mmc_platform_data *pdata = sdhci_pltfm_priv(pltfm_host); 2053812f6e1af0 Peter Griffin 2015-04-10 477 struct device_node *np = dev->of_node; 7f55eb101d4a75 Arvind Yadav 2017-06-20 478 int ret; f52d9c4f459bda Peter Griffin 2014-07-09 479 7f55eb101d4a75 Arvind Yadav 2017-06-20 480 ret = clk_prepare_enable(pltfm_host->clk); 7f55eb101d4a75 Arvind Yadav 2017-06-20 481 if (ret) 7f55eb101d4a75 Arvind Yadav 2017-06-20 482 return ret; 7f55eb101d4a75 Arvind Yadav 2017-06-20 483 7f55eb101d4a75 Arvind Yadav 2017-06-20 484 ret = clk_prepare_enable(pdata->icnclk); 7f55eb101d4a75 Arvind Yadav 2017-06-20 485 if (ret) { 7f55eb101d4a75 Arvind Yadav 2017-06-20 486 clk_disable_unprepare(pltfm_host->clk); 7f55eb101d4a75 Arvind Yadav 2017-06-20 487 return ret; 7f55eb101d4a75 Arvind Yadav 2017-06-20 488 } f52d9c4f459bda Peter Griffin 2014-07-09 489 406c24310a7bd7 Peter Griffin 2015-04-10 490 reset_control_deassert(pdata->rstc); 406c24310a7bd7 Peter Griffin 2015-04-10 491 2053812f6e1af0 Peter Griffin 2015-04-10 492 st_mmcss_cconfig(np, host); 2053812f6e1af0 Peter Griffin 2015-04-10 493 f52d9c4f459bda Peter Griffin 2014-07-09 @494 return sdhci_resume_host(host); f52d9c4f459bda Peter Griffin 2014-07-09 495 } f52d9c4f459bda Peter Griffin 2014-07-09 496
Hi Raphael, kernel test robot noticed the following build errors: [auto build test ERROR on 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2] url: https://github.com/intel-lab-lkp/linux/commits/Raphael-Gallais-Pou/usb-dwc3-st-Switch-from-CONFIG_PM_SLEEP-guards-to-pm_sleep_ptr/20241229-073700 base: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2 patch link: https://lore.kernel.org/r/20241229-update_pm_macro-v1-2-c7d4c4856336%40gmail.com patch subject: [PATCH 2/6] mmc: sdhci-st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20241229/202412291320.lZkWz3Yv-lkp@intel.com/config) compiler: s390-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241229/202412291320.lZkWz3Yv-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202412291320.lZkWz3Yv-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/mmc/host/sdhci-st.c: In function 'sdhci_st_suspend': >> drivers/mmc/host/sdhci-st.c:460:15: error: implicit declaration of function 'sdhci_suspend_host'; did you mean 'sdhci_add_host'? [-Wimplicit-function-declaration] 460 | ret = sdhci_suspend_host(host); | ^~~~~~~~~~~~~~~~~~ | sdhci_add_host drivers/mmc/host/sdhci-st.c: In function 'sdhci_st_resume': >> drivers/mmc/host/sdhci-st.c:494:16: error: implicit declaration of function 'sdhci_resume_host'; did you mean 'sdhci_remove_host'? [-Wimplicit-function-declaration] 494 | return sdhci_resume_host(host); | ^~~~~~~~~~~~~~~~~ | sdhci_remove_host vim +460 drivers/mmc/host/sdhci-st.c f52d9c4f459bda Peter Griffin 2014-07-09 449 f52d9c4f459bda Peter Griffin 2014-07-09 450 static int sdhci_st_suspend(struct device *dev) f52d9c4f459bda Peter Griffin 2014-07-09 451 { f52d9c4f459bda Peter Griffin 2014-07-09 452 struct sdhci_host *host = dev_get_drvdata(dev); f52d9c4f459bda Peter Griffin 2014-07-09 453 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); 1531675269c833 Jisheng Zhang 2016-02-16 454 struct st_mmc_platform_data *pdata = sdhci_pltfm_priv(pltfm_host); d38dcad4e7b48f Adrian Hunter 2017-03-20 455 int ret; d38dcad4e7b48f Adrian Hunter 2017-03-20 456 d38dcad4e7b48f Adrian Hunter 2017-03-20 457 if (host->tuning_mode != SDHCI_TUNING_MODE_3) d38dcad4e7b48f Adrian Hunter 2017-03-20 458 mmc_retune_needed(host->mmc); f52d9c4f459bda Peter Griffin 2014-07-09 459 d38dcad4e7b48f Adrian Hunter 2017-03-20 @460 ret = sdhci_suspend_host(host); f52d9c4f459bda Peter Griffin 2014-07-09 461 if (ret) f52d9c4f459bda Peter Griffin 2014-07-09 462 goto out; f52d9c4f459bda Peter Griffin 2014-07-09 463 406c24310a7bd7 Peter Griffin 2015-04-10 464 reset_control_assert(pdata->rstc); 406c24310a7bd7 Peter Griffin 2015-04-10 465 3ae50f4512ce83 Lee Jones 2016-09-08 466 clk_disable_unprepare(pdata->icnclk); f52d9c4f459bda Peter Griffin 2014-07-09 467 clk_disable_unprepare(pltfm_host->clk); f52d9c4f459bda Peter Griffin 2014-07-09 468 out: f52d9c4f459bda Peter Griffin 2014-07-09 469 return ret; f52d9c4f459bda Peter Griffin 2014-07-09 470 } f52d9c4f459bda Peter Griffin 2014-07-09 471 f52d9c4f459bda Peter Griffin 2014-07-09 472 static int sdhci_st_resume(struct device *dev) f52d9c4f459bda Peter Griffin 2014-07-09 473 { f52d9c4f459bda Peter Griffin 2014-07-09 474 struct sdhci_host *host = dev_get_drvdata(dev); f52d9c4f459bda Peter Griffin 2014-07-09 475 struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); 1531675269c833 Jisheng Zhang 2016-02-16 476 struct st_mmc_platform_data *pdata = sdhci_pltfm_priv(pltfm_host); 2053812f6e1af0 Peter Griffin 2015-04-10 477 struct device_node *np = dev->of_node; 7f55eb101d4a75 Arvind Yadav 2017-06-20 478 int ret; f52d9c4f459bda Peter Griffin 2014-07-09 479 7f55eb101d4a75 Arvind Yadav 2017-06-20 480 ret = clk_prepare_enable(pltfm_host->clk); 7f55eb101d4a75 Arvind Yadav 2017-06-20 481 if (ret) 7f55eb101d4a75 Arvind Yadav 2017-06-20 482 return ret; 7f55eb101d4a75 Arvind Yadav 2017-06-20 483 7f55eb101d4a75 Arvind Yadav 2017-06-20 484 ret = clk_prepare_enable(pdata->icnclk); 7f55eb101d4a75 Arvind Yadav 2017-06-20 485 if (ret) { 7f55eb101d4a75 Arvind Yadav 2017-06-20 486 clk_disable_unprepare(pltfm_host->clk); 7f55eb101d4a75 Arvind Yadav 2017-06-20 487 return ret; 7f55eb101d4a75 Arvind Yadav 2017-06-20 488 } f52d9c4f459bda Peter Griffin 2014-07-09 489 406c24310a7bd7 Peter Griffin 2015-04-10 490 reset_control_deassert(pdata->rstc); 406c24310a7bd7 Peter Griffin 2015-04-10 491 2053812f6e1af0 Peter Griffin 2015-04-10 492 st_mmcss_cconfig(np, host); 2053812f6e1af0 Peter Griffin 2015-04-10 493 f52d9c4f459bda Peter Griffin 2014-07-09 @494 return sdhci_resume_host(host); f52d9c4f459bda Peter Griffin 2014-07-09 495 } f52d9c4f459bda Peter Griffin 2014-07-09 496
diff --git a/drivers/mmc/host/sdhci-st.c b/drivers/mmc/host/sdhci-st.c index 4973e08a98f87380325566a6b18878dd45e1dc30..901e431976ced68d5b6e374c2dec93c9fa821d38 100644 --- a/drivers/mmc/host/sdhci-st.c +++ b/drivers/mmc/host/sdhci-st.c @@ -447,7 +447,6 @@ static void sdhci_st_remove(struct platform_device *pdev) reset_control_assert(rstc); } -#ifdef CONFIG_PM_SLEEP static int sdhci_st_suspend(struct device *dev) { struct sdhci_host *host = dev_get_drvdata(dev); @@ -494,9 +493,8 @@ static int sdhci_st_resume(struct device *dev) return sdhci_resume_host(host); } -#endif -static SIMPLE_DEV_PM_OPS(sdhci_st_pmops, sdhci_st_suspend, sdhci_st_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(sdhci_st_pmops, sdhci_st_suspend, sdhci_st_resume); static const struct of_device_id st_sdhci_match[] = { { .compatible = "st,sdhci" }, @@ -511,7 +509,7 @@ static struct platform_driver sdhci_st_driver = { .driver = { .name = "sdhci-st", .probe_type = PROBE_PREFER_ASYNCHRONOUS, - .pm = &sdhci_st_pmops, + .pm = pm_sleep_ptr(&sdhci_st_pmops), .of_match_table = st_sdhci_match, }, };
Letting the compiler remove these functions when the kernel is built without CONFIG_PM_SLEEP support is simpler and less error prone than the use of #ifdef based kernel configuration guards. Link: https://lore.kernel.org/all/20240716180010.126987-1-rgallaispou@gmail.com Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com> --- drivers/mmc/host/sdhci-st.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)