drivers/base/power/domain_governor.c:409: warning: cannot understand function prototype: 'struct dev_power_governor pm_domain_always_on_gov = '

From: kernel test robot
Date: Sun Mar 31 2024 - 02:03:31 EST


Hi Huacai,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 712e14250dd2907346617eba275c46f53db8fae7
commit: 366bb35a8e48198cefcd3484ac6b2374d1347873 LoongArch: Add suspend (ACPI S3) support
date: 1 year, 4 months ago
config: loongarch-randconfig-r034-20230511 (https://download.01.org/0day-ci/archive/20240331/202403311326.Dr2HlMYm-lkp@xxxxxxxxx/config)
compiler: loongarch64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20240331/202403311326.Dr2HlMYm-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403311326.Dr2HlMYm-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/base/power/domain_governor.c:409: warning: cannot understand function prototype: 'struct dev_power_governor pm_domain_always_on_gov = '
--
>> drivers/base/power/runtime.c:365: warning: Excess function parameter 'dev' description in '__rpm_callback'

sparse warnings: (new ones prefixed by >>)
>> drivers/acpi/nvs.c:140:54: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *kaddr @@
drivers/acpi/nvs.c:140:54: sparse: expected void volatile [noderef] __iomem *addr
drivers/acpi/nvs.c:140:54: sparse: got void *kaddr
>> drivers/acpi/nvs.c:143:66: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *virt @@ got void *kaddr @@
drivers/acpi/nvs.c:143:66: sparse: expected void [noderef] __iomem *virt
drivers/acpi/nvs.c:143:66: sparse: got void *kaddr
>> drivers/acpi/nvs.c:182:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *kaddr @@ got void [noderef] __iomem * @@
drivers/acpi/nvs.c:182:38: sparse: expected void *kaddr
drivers/acpi/nvs.c:182:38: sparse: got void [noderef] __iomem *
drivers/acpi/nvs.c:184:46: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *kaddr @@ got void [noderef] __iomem * @@
drivers/acpi/nvs.c:184:46: sparse: expected void *kaddr
drivers/acpi/nvs.c:184:46: sparse: got void [noderef] __iomem *
--
>> drivers/acpi/sleep.c:556:46: sparse: sparse: restricted suspend_state_t degrades to integer
drivers/acpi/sleep.c:656:50: sparse: sparse: restricted suspend_state_t degrades to integer
--
>> kernel/power/main.c:133:34: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:133:38: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:134:21: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:134:26: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:136:38: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:137:62: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:133:55: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:162:38: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:162:46: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:163:54: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:162:67: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:182:31: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:182:36: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:188:13: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:188:21: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:188:39: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:188:47: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:579:34: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:579:38: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:580:31: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:581:57: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:579:55: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:608:38: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:608:46: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:609:47: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:608:67: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:629:31: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:629:36: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:635:13: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:635:21: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:703:31: sparse: sparse: restricted suspend_state_t degrades to integer
kernel/power/main.c:703:36: sparse: sparse: restricted suspend_state_t degrades to integer

vim +409 drivers/base/power/domain_governor.c

e59a8db8d9b7c0 Rafael J. Wysocki 2012-01-14 405
925b44a273aa8c Mark Brown 2011-12-08 406 /**
925b44a273aa8c Mark Brown 2011-12-08 407 * pm_genpd_gov_always_on - A governor implementing an always-on policy
925b44a273aa8c Mark Brown 2011-12-08 408 */
925b44a273aa8c Mark Brown 2011-12-08 @409 struct dev_power_governor pm_domain_always_on_gov = {

:::::: The code at line 409 was first introduced by commit
:::::: 925b44a273aa8c4c23c006c1228aacd538eead09 PM / Domains: Provide an always on power domain governor

:::::: TO: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
:::::: CC: Rafael J. Wysocki <rjw@xxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki