Message ID | 20220807145247.46107-26-paul@crapouillou.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
Hi Paul, I love your patch! Yet something to improve: [auto build test ERROR on v5.19] [cannot apply to lee-mfd/for-mfd-next linus/master next-20220805] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Paul-Cercueil/mfd-Remove-ifdef-guards-for-PM-functions/20220807-225947 base: 3d7cb6b04c3f3115719235cc6866b10326de34cd config: openrisc-randconfig-r015-20220807 (https://download.01.org/0day-ci/archive/20220807/202208072317.F5f2MGx5-lkp@intel.com/config) compiler: or1k-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/5a39bd52d549e3f3be743fb336dd710eac75055d git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Paul-Cercueil/mfd-Remove-ifdef-guards-for-PM-functions/20220807-225947 git checkout 5a39bd52d549e3f3be743fb336dd710eac75055d # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=openrisc SHELL=/bin/bash drivers/mfd/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/mfd/stmfx.c: In function 'stmfx_suspend': >> drivers/mfd/stmfx.c:485:37: error: 'struct stmfx' has no member named 'bkp_sysctrl' 485 | &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); | ^~ drivers/mfd/stmfx.c:485:64: error: 'struct stmfx' has no member named 'bkp_sysctrl' 485 | &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); | ^~ >> drivers/mfd/stmfx.c:490:37: error: 'struct stmfx' has no member named 'bkp_irqoutpin' 490 | &stmfx->bkp_irqoutpin, | ^~ drivers/mfd/stmfx.c:491:43: error: 'struct stmfx' has no member named 'bkp_irqoutpin' 491 | sizeof(stmfx->bkp_irqoutpin)); | ^~ drivers/mfd/stmfx.c: In function 'stmfx_resume': drivers/mfd/stmfx.c:525:38: error: 'struct stmfx' has no member named 'bkp_sysctrl' 525 | &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); | ^~ drivers/mfd/stmfx.c:525:65: error: 'struct stmfx' has no member named 'bkp_sysctrl' 525 | &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); | ^~ drivers/mfd/stmfx.c:530:38: error: 'struct stmfx' has no member named 'bkp_irqoutpin' 530 | &stmfx->bkp_irqoutpin, | ^~ drivers/mfd/stmfx.c:531:44: error: 'struct stmfx' has no member named 'bkp_irqoutpin' 531 | sizeof(stmfx->bkp_irqoutpin)); | ^~ vim +485 drivers/mfd/stmfx.c 06252ade915665 Amelie Delaunay 2019-05-09 478 06252ade915665 Amelie Delaunay 2019-05-09 479 static int stmfx_suspend(struct device *dev) 06252ade915665 Amelie Delaunay 2019-05-09 480 { 06252ade915665 Amelie Delaunay 2019-05-09 481 struct stmfx *stmfx = dev_get_drvdata(dev); 06252ade915665 Amelie Delaunay 2019-05-09 482 int ret; 06252ade915665 Amelie Delaunay 2019-05-09 483 06252ade915665 Amelie Delaunay 2019-05-09 484 ret = regmap_raw_read(stmfx->map, STMFX_REG_SYS_CTRL, 06252ade915665 Amelie Delaunay 2019-05-09 @485 &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); 06252ade915665 Amelie Delaunay 2019-05-09 486 if (ret) 06252ade915665 Amelie Delaunay 2019-05-09 487 return ret; 06252ade915665 Amelie Delaunay 2019-05-09 488 06252ade915665 Amelie Delaunay 2019-05-09 489 ret = regmap_raw_read(stmfx->map, STMFX_REG_IRQ_OUT_PIN, 06252ade915665 Amelie Delaunay 2019-05-09 @490 &stmfx->bkp_irqoutpin, 06252ade915665 Amelie Delaunay 2019-05-09 491 sizeof(stmfx->bkp_irqoutpin)); 06252ade915665 Amelie Delaunay 2019-05-09 492 if (ret) 06252ade915665 Amelie Delaunay 2019-05-09 493 return ret; 06252ade915665 Amelie Delaunay 2019-05-09 494 97eda5dcc2cde5 Amelie Delaunay 2020-04-22 495 disable_irq(stmfx->irq); 97eda5dcc2cde5 Amelie Delaunay 2020-04-22 496 06252ade915665 Amelie Delaunay 2019-05-09 497 if (stmfx->vdd) 06252ade915665 Amelie Delaunay 2019-05-09 498 return regulator_disable(stmfx->vdd); 06252ade915665 Amelie Delaunay 2019-05-09 499 06252ade915665 Amelie Delaunay 2019-05-09 500 return 0; 06252ade915665 Amelie Delaunay 2019-05-09 501 } 06252ade915665 Amelie Delaunay 2019-05-09 502
Hi Paul, I love your patch! Yet something to improve: [auto build test ERROR on v5.19] [cannot apply to lee-mfd/for-mfd-next linus/master next-20220805] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Paul-Cercueil/mfd-Remove-ifdef-guards-for-PM-functions/20220807-225947 base: 3d7cb6b04c3f3115719235cc6866b10326de34cd config: hexagon-randconfig-r013-20220807 (https://download.01.org/0day-ci/archive/20220808/202208080225.Hm01SP8r-lkp@intel.com/config) compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 5f1c7e2cc5a3c07cbc2412e851a7283c1841f520) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/5a39bd52d549e3f3be743fb336dd710eac75055d git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Paul-Cercueil/mfd-Remove-ifdef-guards-for-PM-functions/20220807-225947 git checkout 5a39bd52d549e3f3be743fb336dd710eac75055d # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/mfd/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/mfd/stmfx.c:485:18: error: no member named 'bkp_sysctrl' in 'struct stmfx' &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); ~~~~~ ^ drivers/mfd/stmfx.c:485:45: error: no member named 'bkp_sysctrl' in 'struct stmfx' &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); ~~~~~ ^ >> drivers/mfd/stmfx.c:490:18: error: no member named 'bkp_irqoutpin' in 'struct stmfx' &stmfx->bkp_irqoutpin, ~~~~~ ^ drivers/mfd/stmfx.c:491:24: error: no member named 'bkp_irqoutpin' in 'struct stmfx' sizeof(stmfx->bkp_irqoutpin)); ~~~~~ ^ drivers/mfd/stmfx.c:525:19: error: no member named 'bkp_sysctrl' in 'struct stmfx' &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); ~~~~~ ^ drivers/mfd/stmfx.c:525:46: error: no member named 'bkp_sysctrl' in 'struct stmfx' &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); ~~~~~ ^ drivers/mfd/stmfx.c:530:19: error: no member named 'bkp_irqoutpin' in 'struct stmfx' &stmfx->bkp_irqoutpin, ~~~~~ ^ drivers/mfd/stmfx.c:531:25: error: no member named 'bkp_irqoutpin' in 'struct stmfx' sizeof(stmfx->bkp_irqoutpin)); ~~~~~ ^ 8 errors generated. vim +485 drivers/mfd/stmfx.c 06252ade915665 Amelie Delaunay 2019-05-09 478 06252ade915665 Amelie Delaunay 2019-05-09 479 static int stmfx_suspend(struct device *dev) 06252ade915665 Amelie Delaunay 2019-05-09 480 { 06252ade915665 Amelie Delaunay 2019-05-09 481 struct stmfx *stmfx = dev_get_drvdata(dev); 06252ade915665 Amelie Delaunay 2019-05-09 482 int ret; 06252ade915665 Amelie Delaunay 2019-05-09 483 06252ade915665 Amelie Delaunay 2019-05-09 484 ret = regmap_raw_read(stmfx->map, STMFX_REG_SYS_CTRL, 06252ade915665 Amelie Delaunay 2019-05-09 @485 &stmfx->bkp_sysctrl, sizeof(stmfx->bkp_sysctrl)); 06252ade915665 Amelie Delaunay 2019-05-09 486 if (ret) 06252ade915665 Amelie Delaunay 2019-05-09 487 return ret; 06252ade915665 Amelie Delaunay 2019-05-09 488 06252ade915665 Amelie Delaunay 2019-05-09 489 ret = regmap_raw_read(stmfx->map, STMFX_REG_IRQ_OUT_PIN, 06252ade915665 Amelie Delaunay 2019-05-09 @490 &stmfx->bkp_irqoutpin, 06252ade915665 Amelie Delaunay 2019-05-09 491 sizeof(stmfx->bkp_irqoutpin)); 06252ade915665 Amelie Delaunay 2019-05-09 492 if (ret) 06252ade915665 Amelie Delaunay 2019-05-09 493 return ret; 06252ade915665 Amelie Delaunay 2019-05-09 494 97eda5dcc2cde5 Amelie Delaunay 2020-04-22 495 disable_irq(stmfx->irq); 97eda5dcc2cde5 Amelie Delaunay 2020-04-22 496 06252ade915665 Amelie Delaunay 2019-05-09 497 if (stmfx->vdd) 06252ade915665 Amelie Delaunay 2019-05-09 498 return regulator_disable(stmfx->vdd); 06252ade915665 Amelie Delaunay 2019-05-09 499 06252ade915665 Amelie Delaunay 2019-05-09 500 return 0; 06252ade915665 Amelie Delaunay 2019-05-09 501 } 06252ade915665 Amelie Delaunay 2019-05-09 502
diff --git a/drivers/mfd/stmfx.c b/drivers/mfd/stmfx.c index 122f96094410..94af27346669 100644 --- a/drivers/mfd/stmfx.c +++ b/drivers/mfd/stmfx.c @@ -476,7 +476,6 @@ static int stmfx_remove(struct i2c_client *client) return 0; } -#ifdef CONFIG_PM_SLEEP static int stmfx_suspend(struct device *dev) { struct stmfx *stmfx = dev_get_drvdata(dev); @@ -542,9 +541,8 @@ static int stmfx_resume(struct device *dev) return 0; } -#endif -static SIMPLE_DEV_PM_OPS(stmfx_dev_pm_ops, stmfx_suspend, stmfx_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(stmfx_dev_pm_ops, stmfx_suspend, stmfx_resume); static const struct of_device_id stmfx_of_match[] = { { .compatible = "st,stmfx-0300", }, @@ -556,7 +554,7 @@ static struct i2c_driver stmfx_driver = { .driver = { .name = "stmfx-core", .of_match_table = stmfx_of_match, - .pm = &stmfx_dev_pm_ops, + .pm = pm_sleep_ptr(&stmfx_dev_pm_ops), }, .probe = stmfx_probe, .remove = stmfx_remove,
Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to handle the .suspend/.resume callbacks. These macros allow the suspend and resume functions to be automatically dropped by the compiler when CONFIG_SUSPEND is disabled, without having to use #ifdef guards. The advantage is then that these functions are now always compiled independently of any Kconfig option, and thanks to that bugs and regressions are easier to catch. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com> Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-arm-kernel@lists.infradead.org --- drivers/mfd/stmfx.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)