* [android-common:android13-5.10-lts 6/6] drivers/base/power/domain_governor.c:259: warning: Function parameter or member 'now' not described in '_default_power_down_ok'
@ 2026-11-14 7:08 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-11-14 7:08 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common android13-5.10-lts
head: c73351b2e985e893999227194b401cb06613cd81
commit: 283e3271641ff0fd3067020f483db5b3857eca37 [6/6] FROMLIST: PM / Domains: use device's next wakeup to determine domain idle state
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20261114/202611141445.oOrHlncb-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 16.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261114/202611141445.oOrHlncb-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/202611141445.oOrHlncb-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/base/power/domain_governor.c:259: warning: Function parameter or member 'now' not described in '_default_power_down_ok'
drivers/base/power/domain_governor.c:402: warning: cannot understand function prototype: 'struct dev_power_governor pm_domain_always_on_gov = '
vim +259 drivers/base/power/domain_governor.c
221e9b58380abd Rafael J. Wysocki 2011-12-01 251
268cd2ed3d4413 Krzysztof Kozlowski 2017-06-28 252 /**
283e3271641ff0 Lina Iyer 2020-06-26 253 * _default_power_down_ok - Default generic PM domain power off governor routine.
268cd2ed3d4413 Krzysztof Kozlowski 2017-06-28 254 * @pd: PM domain to check.
268cd2ed3d4413 Krzysztof Kozlowski 2017-06-28 255 *
268cd2ed3d4413 Krzysztof Kozlowski 2017-06-28 256 * This routine must be executed under the PM domain's lock.
268cd2ed3d4413 Krzysztof Kozlowski 2017-06-28 257 */
283e3271641ff0 Lina Iyer 2020-06-26 258 static bool _default_power_down_ok(struct dev_pm_domain *pd, ktime_t now)
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 @259 {
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 260 struct generic_pm_domain *genpd = pd_to_genpd(pd);
283e3271641ff0 Lina Iyer 2020-06-26 261 int state_idx = genpd->state_count - 1;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 262 struct gpd_link *link;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 263
283e3271641ff0 Lina Iyer 2020-06-26 264 /*
283e3271641ff0 Lina Iyer 2020-06-26 265 * Find the next wakeup from devices that can determine their own wakeup
283e3271641ff0 Lina Iyer 2020-06-26 266 * to find when the domain would wakeup and do it for every device down
283e3271641ff0 Lina Iyer 2020-06-26 267 * the hierarchy. It is not worth while to sleep if the state's residency
283e3271641ff0 Lina Iyer 2020-06-26 268 * cannot be met.
283e3271641ff0 Lina Iyer 2020-06-26 269 */
283e3271641ff0 Lina Iyer 2020-06-26 270 update_domain_next_wakeup(genpd, now);
283e3271641ff0 Lina Iyer 2020-06-26 271 if (genpd->next_wakeup != KTIME_MAX) {
283e3271641ff0 Lina Iyer 2020-06-26 272 /* Let's find out the deepest domain idle state, the devices prefer */
283e3271641ff0 Lina Iyer 2020-06-26 273 while (state_idx >= 0) {
283e3271641ff0 Lina Iyer 2020-06-26 274 if (next_wakeup_allows_state(genpd, state_idx, now)) {
283e3271641ff0 Lina Iyer 2020-06-26 275 genpd->max_off_time_changed = true;
283e3271641ff0 Lina Iyer 2020-06-26 276 break;
283e3271641ff0 Lina Iyer 2020-06-26 277 }
283e3271641ff0 Lina Iyer 2020-06-26 278 state_idx--;
283e3271641ff0 Lina Iyer 2020-06-26 279 }
283e3271641ff0 Lina Iyer 2020-06-26 280
283e3271641ff0 Lina Iyer 2020-06-26 281 if (state_idx < 0) {
283e3271641ff0 Lina Iyer 2020-06-26 282 state_idx = 0;
283e3271641ff0 Lina Iyer 2020-06-26 283 genpd->cached_power_down_ok = false;
283e3271641ff0 Lina Iyer 2020-06-26 284 goto done;
283e3271641ff0 Lina Iyer 2020-06-26 285 }
283e3271641ff0 Lina Iyer 2020-06-26 286 }
283e3271641ff0 Lina Iyer 2020-06-26 287
e94999688e3aa3 Ulf Hansson 2019-04-11 288 if (!genpd->max_off_time_changed) {
e94999688e3aa3 Ulf Hansson 2019-04-11 289 genpd->state_idx = genpd->cached_power_down_state_idx;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 290 return genpd->cached_power_down_ok;
e94999688e3aa3 Ulf Hansson 2019-04-11 291 }
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 292
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 293 /*
8d87ae48ced2df Kees Cook 2020-07-08 294 * We have to invalidate the cached results for the parents, so
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 295 * use the observation that default_power_down_ok() is not
8d87ae48ced2df Kees Cook 2020-07-08 296 * going to be called for any parent until this instance
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 297 * returns.
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 298 */
8d87ae48ced2df Kees Cook 2020-07-08 299 list_for_each_entry(link, &genpd->child_links, child_node)
8d87ae48ced2df Kees Cook 2020-07-08 300 link->parent->max_off_time_changed = true;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 301
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 302 genpd->max_off_time_ns = -1;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 303 genpd->max_off_time_changed = false;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 304 genpd->cached_power_down_ok = true;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 305
283e3271641ff0 Lina Iyer 2020-06-26 306 /*
283e3271641ff0 Lina Iyer 2020-06-26 307 * Find a state to power down to, starting from the state
283e3271641ff0 Lina Iyer 2020-06-26 308 * determined by the next wakeup.
283e3271641ff0 Lina Iyer 2020-06-26 309 */
283e3271641ff0 Lina Iyer 2020-06-26 310 while (!__default_power_down_ok(pd, state_idx)) {
283e3271641ff0 Lina Iyer 2020-06-26 311 if (state_idx == 0) {
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 312 genpd->cached_power_down_ok = false;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 313 break;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 314 }
283e3271641ff0 Lina Iyer 2020-06-26 315 state_idx--;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 316 }
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 317
283e3271641ff0 Lina Iyer 2020-06-26 318 done:
283e3271641ff0 Lina Iyer 2020-06-26 319 genpd->state_idx = state_idx;
e94999688e3aa3 Ulf Hansson 2019-04-11 320 genpd->cached_power_down_state_idx = genpd->state_idx;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 321 return genpd->cached_power_down_ok;
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 322 }
fc5cbf0c94b6f7 Axel Haslam 2016-02-15 323
:::::: The code at line 259 was first introduced by commit
:::::: fc5cbf0c94b6f7fd62fdddff892207290510945d PM / Domains: Support for multiple states
:::::: TO: Axel Haslam <ahaslam+renesas@baylibre.com>
:::::: CC: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-11-14 7:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-14 7:08 [android-common:android13-5.10-lts 6/6] drivers/base/power/domain_governor.c:259: warning: Function parameter or member 'now' not described in '_default_power_down_ok' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.