Message ID | 20240208170410.67975-14-afd@ti.com |
---|---|
State | New |
Headers | show |
Series | Remove pm_power_off use in drivers/power/reset | expand |
Hi Andrew, kernel test robot noticed the following build warnings: [auto build test WARNING on sre-power-supply/for-next] [also build test WARNING on mani-mhi/mhi-next soc/for-next linus/master v6.8-rc4 next-20240209] [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/Andrew-Davis/power-reset-atc260x-poweroff-Use-devm_register_sys_off_handler-RESTART/20240209-011655 base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next patch link: https://lore.kernel.org/r/20240208170410.67975-14-afd%40ti.com patch subject: [PATCH v3 13/19] power: reset: msm-poweroff: Use devm_register_sys_off_handler(RESTART) :::::: branch date: 4 days ago :::::: commit date: 4 days ago config: arm64-randconfig-r131-20240211 (https://download.01.org/0day-ci/archive/20240212/202402121342.7WgNqBu9-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20240212/202402121342.7WgNqBu9-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/r/202402121342.7WgNqBu9-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/power/reset/msm-poweroff.c:18:41: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *msm_ps_hold @@ got void *cb_data @@ drivers/power/reset/msm-poweroff.c:18:41: sparse: expected void [noderef] __iomem *msm_ps_hold drivers/power/reset/msm-poweroff.c:18:41: sparse: got void *cb_data >> drivers/power/reset/msm-poweroff.c:33:61: sparse: sparse: incorrect type in argument 5 (different address spaces) @@ expected void *cb_data @@ got void [noderef] __iomem *msm_ps_hold @@ drivers/power/reset/msm-poweroff.c:33:61: sparse: expected void *cb_data drivers/power/reset/msm-poweroff.c:33:61: sparse: got void [noderef] __iomem *msm_ps_hold drivers/power/reset/msm-poweroff.c:37:39: sparse: sparse: incorrect type in argument 5 (different address spaces) @@ expected void *cb_data @@ got void [noderef] __iomem *msm_ps_hold @@ drivers/power/reset/msm-poweroff.c:37:39: sparse: expected void *cb_data drivers/power/reset/msm-poweroff.c:37:39: sparse: got void [noderef] __iomem *msm_ps_hold vim +18 drivers/power/reset/msm-poweroff.c 78be3176c4335b Abhimanyu Kapur 2013-07-30 15 bc460fab0b719d Andrew Davis 2024-02-08 16 static int do_msm_poweroff(struct sys_off_data *data) 78be3176c4335b Abhimanyu Kapur 2013-07-30 17 { bc460fab0b719d Andrew Davis 2024-02-08 @18 void __iomem *msm_ps_hold = data->cb_data; bc460fab0b719d Andrew Davis 2024-02-08 19 78be3176c4335b Abhimanyu Kapur 2013-07-30 20 writel(0, msm_ps_hold); 78be3176c4335b Abhimanyu Kapur 2013-07-30 21 mdelay(10000); 18a702e0de9879 Pramod Gurav 2014-09-25 22 18a702e0de9879 Pramod Gurav 2014-09-25 23 return NOTIFY_DONE; 78be3176c4335b Abhimanyu Kapur 2013-07-30 24 } 78be3176c4335b Abhimanyu Kapur 2013-07-30 25 78be3176c4335b Abhimanyu Kapur 2013-07-30 26 static int msm_restart_probe(struct platform_device *pdev) 78be3176c4335b Abhimanyu Kapur 2013-07-30 27 { bc460fab0b719d Andrew Davis 2024-02-08 28 void __iomem *msm_ps_hold = devm_platform_ioremap_resource(pdev, 0); 78be3176c4335b Abhimanyu Kapur 2013-07-30 29 if (IS_ERR(msm_ps_hold)) 78be3176c4335b Abhimanyu Kapur 2013-07-30 30 return PTR_ERR(msm_ps_hold); 78be3176c4335b Abhimanyu Kapur 2013-07-30 31 bc460fab0b719d Andrew Davis 2024-02-08 32 devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_RESTART, bc460fab0b719d Andrew Davis 2024-02-08 @33 128, do_msm_poweroff, msm_ps_hold); 18a702e0de9879 Pramod Gurav 2014-09-25 34 521ef776c49589 Andrew Davis 2024-02-08 35 devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_POWER_OFF, 521ef776c49589 Andrew Davis 2024-02-08 36 SYS_OFF_PRIO_DEFAULT, do_msm_poweroff, 521ef776c49589 Andrew Davis 2024-02-08 37 msm_ps_hold); 18a702e0de9879 Pramod Gurav 2014-09-25 38 78be3176c4335b Abhimanyu Kapur 2013-07-30 39 return 0; 78be3176c4335b Abhimanyu Kapur 2013-07-30 40 } 78be3176c4335b Abhimanyu Kapur 2013-07-30 41
diff --git a/drivers/power/reset/msm-poweroff.c b/drivers/power/reset/msm-poweroff.c index bcf04491e7022..c5831c46f69e2 100644 --- a/drivers/power/reset/msm-poweroff.c +++ b/drivers/power/reset/msm-poweroff.c @@ -13,35 +13,24 @@ #include <linux/reboot.h> #include <linux/pm.h> -static void __iomem *msm_ps_hold; -static int deassert_pshold(struct notifier_block *nb, unsigned long action, - void *data) +static int do_msm_poweroff(struct sys_off_data *data) { + void __iomem *msm_ps_hold = data->cb_data; + writel(0, msm_ps_hold); mdelay(10000); return NOTIFY_DONE; } -static struct notifier_block restart_nb = { - .notifier_call = deassert_pshold, - .priority = 128, -}; - -static int do_msm_poweroff(struct sys_off_data *data) -{ - deassert_pshold(&restart_nb, 0, NULL); - - return NOTIFY_DONE; -} - static int msm_restart_probe(struct platform_device *pdev) { - msm_ps_hold = devm_platform_ioremap_resource(pdev, 0); + void __iomem *msm_ps_hold = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(msm_ps_hold)) return PTR_ERR(msm_ps_hold); - register_restart_handler(&restart_nb); + devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_RESTART, + 128, do_msm_poweroff, msm_ps_hold); devm_register_sys_off_handler(&pdev->dev, SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT, do_msm_poweroff,
Use device life-cycle managed register function to simplify probe. Signed-off-by: Andrew Davis <afd@ti.com> --- drivers/power/reset/msm-poweroff.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-)