Hi Shawn, I love your patch! Perhaps something to improve: [auto build test WARNING on rafael-pm/linux-next] [also build test WARNING on linus/master v6.1-rc1 next-20221017] [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/Shawn-Guo/Manage-domain-power-state-for-hibernate-freeze/20221017-114450 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next patch link: https://lore.kernel.org/r/20221016095815.2550034-3-shawn.guo%40linaro.org patch subject: [PATCH 2/3] PM: domains: Consolidate genpd_restore_noirq() and genpd_resume_noirq() config: xtensa-randconfig-r032-20221017 compiler: xtensa-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/07af89f71f5cf3e02a29c7da292968404e8ae5be git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Shawn-Guo/Manage-domain-power-state-for-hibernate-freeze/20221017-114450 git checkout 07af89f71f5cf3e02a29c7da292968404e8ae5be # 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=xtensa SHELL=/bin/bash drivers/base/power/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/base/power/domain.c:1258: warning: expecting prototype for genpd_resume_noirq(). Prototype was for genpd_finish_resume() instead vim +1258 drivers/base/power/domain.c 10da65423fdbee Mikko Perttunen 2017-06-22 1248 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1249 /** 07af89f71f5cf3 Shawn Guo 2022-10-16 1250 * genpd_resume_noirq - Completion of resume of device in an I/O PM domain. 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1251 * @dev: Device to resume. 07af89f71f5cf3 Shawn Guo 2022-10-16 1252 * @resume_noirq: Generic resume_noirq callback. 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1253 * 0496c8ae366724 Rafael J. Wysocki 2012-01-29 1254 * Restore power to the device's PM domain, if necessary, and start the device. 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1255 */ 07af89f71f5cf3 Shawn Guo 2022-10-16 1256 static int genpd_finish_resume(struct device *dev, 07af89f71f5cf3 Shawn Guo 2022-10-16 1257 int (*resume_noirq)(struct device *dev)) 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 @1258 { 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1259 struct generic_pm_domain *genpd; a935424bb658f9 Ulf Hansson 2018-01-10 1260 int ret; 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1261 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1262 dev_dbg(dev, "%s()\n", __func__); 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1263 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1264 genpd = dev_to_genpd(dev); 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1265 if (IS_ERR(genpd)) 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1266 return -EINVAL; 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1267 4e1d9a737d00f2 Patrice Chotard 2020-11-19 1268 if (device_wakeup_path(dev) && genpd_is_active_wakeup(genpd)) 07af89f71f5cf3 Shawn Guo 2022-10-16 1269 return resume_noirq(dev); 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1270 0883ac038be12c Ulf Hansson 2017-02-08 1271 genpd_lock(genpd); 07af89f71f5cf3 Shawn Guo 2022-10-16 1272 07af89f71f5cf3 Shawn Guo 2022-10-16 1273 /* 07af89f71f5cf3 Shawn Guo 2022-10-16 1274 * Special handling for hibernation restore: 07af89f71f5cf3 Shawn Guo 2022-10-16 1275 * At this point suspended_count == 0 means we are being run for the 07af89f71f5cf3 Shawn Guo 2022-10-16 1276 * first time for the given domain in the present cycle. 07af89f71f5cf3 Shawn Guo 2022-10-16 1277 */ 07af89f71f5cf3 Shawn Guo 2022-10-16 1278 if (resume_noirq == pm_generic_restore_noirq && 07af89f71f5cf3 Shawn Guo 2022-10-16 1279 genpd->suspended_count++ == 0) { 07af89f71f5cf3 Shawn Guo 2022-10-16 1280 /* 07af89f71f5cf3 Shawn Guo 2022-10-16 1281 * The boot kernel might put the domain into arbitrary state, 07af89f71f5cf3 Shawn Guo 2022-10-16 1282 * so make it appear as powered off to genpd_sync_power_on(), 07af89f71f5cf3 Shawn Guo 2022-10-16 1283 * so that it tries to power it on in case it was really off. 07af89f71f5cf3 Shawn Guo 2022-10-16 1284 */ 07af89f71f5cf3 Shawn Guo 2022-10-16 1285 genpd->status = GENPD_STATE_OFF; 07af89f71f5cf3 Shawn Guo 2022-10-16 1286 } 07af89f71f5cf3 Shawn Guo 2022-10-16 1287 0883ac038be12c Ulf Hansson 2017-02-08 1288 genpd_sync_power_on(genpd, true, 0); 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1289 genpd->suspended_count--; 0883ac038be12c Ulf Hansson 2017-02-08 1290 genpd_unlock(genpd); f721889ff65afa Rafael J. Wysocki 2011-07-01 1291 17218e0092f8c7 Rafael J. Wysocki 2018-01-12 1292 if (genpd->dev_ops.stop && genpd->dev_ops.start && 17218e0092f8c7 Rafael J. Wysocki 2018-01-12 1293 !pm_runtime_status_suspended(dev)) { 17218e0092f8c7 Rafael J. Wysocki 2018-01-12 1294 ret = genpd_start_dev(genpd, dev); 10da65423fdbee Mikko Perttunen 2017-06-22 1295 if (ret) 10da65423fdbee Mikko Perttunen 2017-06-22 1296 return ret; a935424bb658f9 Ulf Hansson 2018-01-10 1297 } 10da65423fdbee Mikko Perttunen 2017-06-22 1298 a935424bb658f9 Ulf Hansson 2018-01-10 1299 return pm_generic_resume_noirq(dev); 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1300 } 596ba34bcd2978 Rafael J. Wysocki 2011-07-01 1301 -- 0-DAY CI Kernel Test Service https://01.org/lkp