[thomas-weissschuh:b4/hrtimer-lock 2/4] kernel/time/hrtimer.c:320:52: error: incompatible type for argument 1 of '_raw_spin_lock_irqsave'

kernel test robot <[email protected]> Tue, 28 Jul 2026 22:21:18 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/thomas.weissschuh/linux.git b4/hrtimer-lock
head:   830403610079844461b6f172c28d34c16082bfd6
commit: c63eaa23a081dc19e1880b3b26bd521b6d083bd4 [2/4] ret
config: nios2-allmodconfig (https://download.01.org/0day-ci/archive/20260728/[email protected]/config)
compiler: nios2-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260728/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   In file included from include/linux/sched.h:38,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from kernel/time/hrtimer.c:25:
   kernel/time/hrtimer.c: In function 'lock_hrtimer_base':
>> kernel/time/hrtimer.c:320:52: error: incompatible type for argument 1 of '_raw_spin_lock_irqsave'
     320 |         raw_spin_lock_irqsave(timer->base->cpu_base->lock, *flags);
         |                               ~~~~~~~~~~~~~~~~~~~~~^~~~~~
         |                                                    |
         |                                                    raw_spinlock_t {aka struct raw_spinlock}
   include/linux/spinlock.h:245:48: note: in definition of macro 'raw_spin_lock_irqsave'
     245 |                 flags = _raw_spin_lock_irqsave(lock);   \
         |                                                ^~~~
   In file included from include/linux/spinlock.h:302,
                    from include/linux/sched.h:38,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from kernel/time/hrtimer.c:25:
   include/linux/spinlock_api_smp.h:32:65: note: expected 'raw_spinlock_t *' {aka 'struct raw_spinlock *'} but argument is of type 'raw_spinlock_t' {aka 'struct raw_spinlock'}
      32 | unsigned long __lockfunc _raw_spin_lock_irqsave(raw_spinlock_t *lock)
         |                                                 ~~~~~~~~~~~~~~~~^~~~


vim +/_raw_spin_lock_irqsave +320 kernel/time/hrtimer.c

   316	
   317	static inline void lock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags)
   318		__acquires(&timer->base->cpu_base->lock)
   319	{
 > 320		raw_spin_lock_irqsave(timer->base->cpu_base->lock, *flags);
   321	}
   322	

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