Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* [tglx-devel:timers/cleanup 22/59] arch/x86/kernel/apm_32.c:957:3: error: call to undeclared function 'default_idle'; ISO C99 and later do not support implicit function declarations
@ 2026-07-12 23:51 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-12 23:51 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: llvm, oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timers/cleanup
head:   0ad363c8e014568032d53fe2c7ab288de68373f4
commit: 5d4d9accd52166913ded860e2bb84076340e3d1a [22/59] x86/idle: Move idle declarations out of processor.h
config: i386-randconfig-011-20260713 (https://download.01.org/0day-ci/archive/20260713/202607130742.R03rQJwg-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260713/202607130742.R03rQJwg-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/202607130742.R03rQJwg-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/x86/kernel/apm_32.c:957:3: error: call to undeclared function 'default_idle'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     957 |                 default_idle();
         |                 ^
   1 error generated.


vim +/default_idle +957 arch/x86/kernel/apm_32.c

^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  891  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  892  /**
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  893   * apm_cpu_idle		-	cpu idling for APM capable Linux
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  894   *
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  895   * This is the idling function the kernel executes when APM is available. It
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  896   * tries to do BIOS powermanagement based on the average system idle time.
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  897   * Furthermore it calls the system default idle routine.
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  898   */
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  899  
dd8af076262cc1 arch/x86/kernel/apm_32.c Len Brown           2013-02-09  900  static int apm_cpu_idle(struct cpuidle_device *dev,
dd8af076262cc1 arch/x86/kernel/apm_32.c Len Brown           2013-02-09  901  	struct cpuidle_driver *drv, int index)
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  902  {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  903  	static int use_apm_idle; /* = 0 */
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  904  	static unsigned int last_jiffies; /* = 0 */
f7dcd63de44219 arch/x86/kernel/apm_32.c Frederic Weisbecker 2017-01-31  905  	static u64 last_stime; /* = 0 */
f7dcd63de44219 arch/x86/kernel/apm_32.c Frederic Weisbecker 2017-01-31  906  	u64 stime, utime;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  907  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  908  	int apm_idle_done = 0;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  909  	unsigned int jiffies_since_last_check = jiffies - last_jiffies;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  910  	unsigned int bucket;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  911  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  912  recalc:
f7dcd63de44219 arch/x86/kernel/apm_32.c Frederic Weisbecker 2017-01-31  913  	task_cputime(current, &utime, &stime);
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  914  	if (jiffies_since_last_check > IDLE_CALC_LIMIT) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  915  		use_apm_idle = 0;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  916  	} else if (jiffies_since_last_check > idle_period) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  917  		unsigned int idle_percentage;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  918  
f7dcd63de44219 arch/x86/kernel/apm_32.c Frederic Weisbecker 2017-01-31  919  		idle_percentage = nsecs_to_jiffies(stime - last_stime);
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  920  		idle_percentage *= 100;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  921  		idle_percentage /= jiffies_since_last_check;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  922  		use_apm_idle = (idle_percentage > idle_threshold);
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  923  		if (apm_info.forbid_idle)
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  924  			use_apm_idle = 0;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  925  	}
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  926  
6fac4829ce0ef9 arch/x86/kernel/apm_32.c Frederic Weisbecker 2012-11-13  927  	last_jiffies = jiffies;
6fac4829ce0ef9 arch/x86/kernel/apm_32.c Frederic Weisbecker 2012-11-13  928  	last_stime = stime;
6fac4829ce0ef9 arch/x86/kernel/apm_32.c Frederic Weisbecker 2012-11-13  929  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  930  	bucket = IDLE_LEAKY_MAX;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  931  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  932  	while (!need_resched()) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  933  		if (use_apm_idle) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  934  			unsigned int t;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  935  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  936  			t = jiffies;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  937  			switch (apm_do_idle()) {
3f4380a1e0ea44 arch/x86/kernel/apm_32.c Cyrill Gorcunov     2008-01-30  938  			case 0:
3f4380a1e0ea44 arch/x86/kernel/apm_32.c Cyrill Gorcunov     2008-01-30  939  				apm_idle_done = 1;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  940  				if (t != jiffies) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  941  					if (bucket) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  942  						bucket = IDLE_LEAKY_MAX;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  943  						continue;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  944  					}
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  945  				} else if (bucket) {
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  946  					bucket--;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  947  					continue;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  948  				}
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  949  				break;
3f4380a1e0ea44 arch/x86/kernel/apm_32.c Cyrill Gorcunov     2008-01-30  950  			case 1:
3f4380a1e0ea44 arch/x86/kernel/apm_32.c Cyrill Gorcunov     2008-01-30  951  				apm_idle_done = 1;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  952  				break;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  953  			default: /* BIOS refused */
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  954  				break;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  955  			}
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  956  		}
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16 @957  		default_idle();
7f424a8b08c26d arch/x86/kernel/apm_32.c Peter Zijlstra      2008-04-25  958  		local_irq_disable();
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  959  		jiffies_since_last_check = jiffies - last_jiffies;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  960  		if (jiffies_since_last_check > idle_period)
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  961  			goto recalc;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  962  	}
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  963  
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  964  	if (apm_idle_done)
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  965  		apm_do_busy();
7f424a8b08c26d arch/x86/kernel/apm_32.c Peter Zijlstra      2008-04-25  966  
dd8af076262cc1 arch/x86/kernel/apm_32.c Len Brown           2013-02-09  967  	return index;
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  968  }
^1da177e4c3f41 arch/i386/kernel/apm.c   Linus Torvalds      2005-04-16  969  

:::::: The code at line 957 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

--
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-07-12 23:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-12 23:51 [tglx-devel:timers/cleanup 22/59] arch/x86/kernel/apm_32.c:957:3: error: call to undeclared function 'default_idle'; ISO C99 and later do not support implicit function declarations kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox