From: kernel test robot <lkp@intel.com>
To: cros-kernel-buildreports@googlegroups.com
Cc: oe-kbuild-all@lists.linux.dev
Subject: [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'
Date: Sat, 14 Nov 2026 15:08:00 +0800 [thread overview]
Message-ID: <202611141445.oOrHlncb-lkp@intel.com> (raw)
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
reply other threads:[~2026-11-14 7:08 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202611141445.oOrHlncb-lkp@intel.com \
--to=lkp@intel.com \
--cc=cros-kernel-buildreports@googlegroups.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.