Messages in this thread | | | Date | Thu, 7 Oct 2021 15:39:22 +0800 | From | kernel test robot <> | Subject | [peterz-queue:sched/cleanup 38/40] kernel/irq_work.c:44:6: warning: no previous prototype for function 'irq_work_single' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/cleanup head: c87bd97277563de19b33bf10e866066c5bafdce0 commit: 341a293f500354cbc5f3647ea1b905574c3bced0 [38/40] irq_work: Provide irq_work_queue_remote() config: riscv-randconfig-r042-20211007 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 58b68e70ebf6308f982426a2618782f473218eed) 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 riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=341a293f500354cbc5f3647ea1b905574c3bced0 git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git git fetch --no-tags peterz-queue sched/cleanup git checkout 341a293f500354cbc5f3647ea1b905574c3bced0 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> kernel/irq_work.c:44:6: warning: no previous prototype for function 'irq_work_single' [-Wmissing-prototypes] void irq_work_single(void *arg) ^ kernel/irq_work.c:44:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void irq_work_single(void *arg) ^ static 1 warning generated.
vim +/irq_work_single +44 kernel/irq_work.c
43 > 44 void irq_work_single(void *arg) 45 { 46 struct irq_work *work = arg; 47 int flags; 48 49 /* 50 * Clear the PENDING bit, after this point the @work can be re-used. 51 * The PENDING bit acts as a lock, and we own it, so we can clear it 52 * without atomic ops. 53 */ 54 flags = atomic_read(&work->node.a_flags); 55 flags &= ~IRQ_WORK_PENDING; 56 atomic_set(&work->node.a_flags, flags); 57 58 /* 59 * See irq_work_claim(). 60 */ 61 smp_mb(); 62 63 lockdep_irq_work_enter(flags); 64 work->func(work); 65 lockdep_irq_work_exit(flags); 66 67 /* 68 * Clear the BUSY bit, if set, and return to the free state if no-one 69 * else claimed it meanwhile. 70 */ 71 (void)atomic_cmpxchg(&work->node.a_flags, flags, flags & ~IRQ_WORK_BUSY); 72 } 73
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | |