tree: https://github.com/ammarfaizi2/linux-block rostedt/linux-trace/trace/timers head: 25106f0bb7968b3e8c746a7853f44b51840746c3 commit: c35565605f42a0d2708ea83e99d7e1147fbd0d80 [2/34] timers: Add timer_shutdown_sync() and timer_shutdown() to be called before freeing timers config: arm64-randconfig-r032-20221104 compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 2bbafe04fe785a9469bea5a3737f8d7d3ce4aca2) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://github.com/ammarfaizi2/linux-block/commit/c35565605f42a0d2708ea83e99d7e1147fbd0d80 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block rostedt/linux-trace/trace/timers git checkout c35565605f42a0d2708ea83e99d7e1147fbd0d80 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/clocksource/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/clocksource/arm_arch_timer.c:690:28: error: conflicting types for 'timer_shutdown' static __always_inline int timer_shutdown(const int access, ^ include/linux/timer.h:205:19: note: previous definition is here static inline int timer_shutdown(struct timer_list *timer) ^ >> drivers/clocksource/arm_arch_timer.c:704:48: error: too many arguments to function call, expected single argument 'timer', have 2 arguments return timer_shutdown(ARCH_TIMER_VIRT_ACCESS, clk); ~~~~~~~~~~~~~~ ^~~ include/linux/timer.h:205:19: note: 'timer_shutdown' declared here static inline int timer_shutdown(struct timer_list *timer) ^ drivers/clocksource/arm_arch_timer.c:709:48: error: too many arguments to function call, expected single argument 'timer', have 2 arguments return timer_shutdown(ARCH_TIMER_PHYS_ACCESS, clk); ~~~~~~~~~~~~~~ ^~~ include/linux/timer.h:205:19: note: 'timer_shutdown' declared here static inline int timer_shutdown(struct timer_list *timer) ^ drivers/clocksource/arm_arch_timer.c:714:52: error: too many arguments to function call, expected single argument 'timer', have 2 arguments return timer_shutdown(ARCH_TIMER_MEM_VIRT_ACCESS, clk); ~~~~~~~~~~~~~~ ^~~ include/linux/timer.h:205:19: note: 'timer_shutdown' declared here static inline int timer_shutdown(struct timer_list *timer) ^ drivers/clocksource/arm_arch_timer.c:719:52: error: too many arguments to function call, expected single argument 'timer', have 2 arguments return timer_shutdown(ARCH_TIMER_MEM_PHYS_ACCESS, clk); ~~~~~~~~~~~~~~ ^~~ include/linux/timer.h:205:19: note: 'timer_shutdown' declared here static inline int timer_shutdown(struct timer_list *timer) ^ 5 errors generated. -- >> drivers/clocksource/timer-sp804.c:158:20: error: conflicting types for 'timer_shutdown' static inline void timer_shutdown(struct clock_event_device *evt) ^ include/linux/timer.h:205:19: note: previous definition is here static inline int timer_shutdown(struct timer_list *timer) ^ >> drivers/clocksource/timer-sp804.c:165:17: error: incompatible pointer types passing 'struct clock_event_device *' to parameter of type 'struct timer_list *' [-Werror,-Wincompatible-pointer-types] timer_shutdown(evt); ^~~ include/linux/timer.h:205:53: note: passing argument to parameter 'timer' here static inline int timer_shutdown(struct timer_list *timer) ^ drivers/clocksource/timer-sp804.c:174:17: error: incompatible pointer types passing 'struct clock_event_device *' to parameter of type 'struct timer_list *' [-Werror,-Wincompatible-pointer-types] timer_shutdown(evt); ^~~ include/linux/timer.h:205:53: note: passing argument to parameter 'timer' here static inline int timer_shutdown(struct timer_list *timer) ^ 3 errors generated. vim +/timer_shutdown +690 drivers/clocksource/arm_arch_timer.c 220069945b298d Stephen Boyd 2013-07-18 689 46c5bfdda3de91 Viresh Kumar 2015-06-12 @690 static __always_inline int timer_shutdown(const int access, 60faddf6eb3aba Stephen Boyd 2013-07-18 691 struct clock_event_device *clk) 8a4da6e36c582f Mark Rutland 2012-11-12 692 { 8a4da6e36c582f Mark Rutland 2012-11-12 693 unsigned long ctrl; 46c5bfdda3de91 Viresh Kumar 2015-06-12 694 60faddf6eb3aba Stephen Boyd 2013-07-18 695 ctrl = arch_timer_reg_read(access, ARCH_TIMER_REG_CTRL, clk); 8a4da6e36c582f Mark Rutland 2012-11-12 696 ctrl &= ~ARCH_TIMER_CTRL_ENABLE; 60faddf6eb3aba Stephen Boyd 2013-07-18 697 arch_timer_reg_write(access, ARCH_TIMER_REG_CTRL, ctrl, clk); 46c5bfdda3de91 Viresh Kumar 2015-06-12 698 46c5bfdda3de91 Viresh Kumar 2015-06-12 699 return 0; 8a4da6e36c582f Mark Rutland 2012-11-12 700 } 8a4da6e36c582f Mark Rutland 2012-11-12 701 46c5bfdda3de91 Viresh Kumar 2015-06-12 702 static int arch_timer_shutdown_virt(struct clock_event_device *clk) 8a4da6e36c582f Mark Rutland 2012-11-12 703 { 46c5bfdda3de91 Viresh Kumar 2015-06-12 @704 return timer_shutdown(ARCH_TIMER_VIRT_ACCESS, clk); 8a4da6e36c582f Mark Rutland 2012-11-12 705 } 8a4da6e36c582f Mark Rutland 2012-11-12 706 :::::: The code at line 690 was first introduced by commit :::::: 46c5bfdda3de91ba4324d73403af7dfb60f5ee38 clockevents/drivers/arm_arch_timer: Migrate to new 'set-state' interface :::::: TO: Viresh Kumar :::::: CC: Daniel Lezcano -- 0-DAY CI Kernel Test Service https://01.org/lkp