Hi Sebastian, [auto build test WARNING on linus/master] [also build test WARNING on v4.9-rc3] [cannot apply to next-20161028] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sebastian-Andrzej-Siewior/fs-buffer-Convert-to-hotplug-state-machine/20161103-230222 config: ia64-allnoconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=ia64 All warnings (new ones prefixed by >>): In file included from include/linux/kernel.h:12:0, from include/linux/list.h:8, from include/linux/kobject.h:20, from include/linux/device.h:17, from include/linux/node.h:17, from include/linux/cpu.h:16, from arch/ia64/kernel/salinfo.c:40: arch/ia64/kernel/salinfo.c: In function 'salinfo_cpu_pre_down': arch/ia64/kernel/salinfo.c:572:38: error: 'flags' undeclared (first use in this function) spin_lock_irqsave(&data_saved_lock, flags); ^ include/linux/typecheck.h:10:9: note: in definition of macro 'typecheck' typeof(x) __dummy2; \ ^ include/linux/spinlock.h:337:2: note: in expansion of macro 'raw_spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^~~~~~~~~~~~~~~~~~~~~ arch/ia64/kernel/salinfo.c:572:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&data_saved_lock, flags); ^~~~~~~~~~~~~~~~~ arch/ia64/kernel/salinfo.c:572:38: note: each undeclared identifier is reported only once for each function it appears in spin_lock_irqsave(&data_saved_lock, flags); ^ include/linux/typecheck.h:10:9: note: in definition of macro 'typecheck' typeof(x) __dummy2; \ ^ include/linux/spinlock.h:337:2: note: in expansion of macro 'raw_spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^~~~~~~~~~~~~~~~~~~~~ arch/ia64/kernel/salinfo.c:572:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&data_saved_lock, flags); ^~~~~~~~~~~~~~~~~ include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast (void)(&__dummy == &__dummy2); \ ^ include/linux/spinlock.h:229:3: note: in expansion of macro 'typecheck' typecheck(unsigned long, flags); \ ^~~~~~~~~ include/linux/spinlock.h:337:2: note: in expansion of macro 'raw_spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^~~~~~~~~~~~~~~~~~~~~ arch/ia64/kernel/salinfo.c:572:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&data_saved_lock, flags); ^~~~~~~~~~~~~~~~~ include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast (void)(&__dummy == &__dummy2); \ ^ >> include/linux/irqflags.h:63:3: note: in expansion of macro 'typecheck' typecheck(unsigned long, flags); \ ^~~~~~~~~ include/linux/irqflags.h:124:3: note: in expansion of macro 'raw_local_irq_save' raw_local_irq_save(flags); \ ^~~~~~~~~~~~~~~~~~ include/linux/spinlock_api_up.h:40:8: note: in expansion of macro 'local_irq_save' do { local_irq_save(flags); __LOCK(lock); } while (0) ^~~~~~~~~~~~~~ include/linux/spinlock_api_up.h:69:45: note: in expansion of macro '__LOCK_IRQSAVE' #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags) ^~~~~~~~~~~~~~ include/linux/spinlock.h:230:3: note: in expansion of macro '_raw_spin_lock_irqsave' _raw_spin_lock_irqsave(lock, flags); \ ^~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock.h:337:2: note: in expansion of macro 'raw_spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^~~~~~~~~~~~~~~~~~~~~ arch/ia64/kernel/salinfo.c:572:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&data_saved_lock, flags); ^~~~~~~~~~~~~~~~~ vim +/typecheck +63 include/linux/irqflags.h 6cd8a4bb Steven Rostedt 2008-05-12 47 #if defined(CONFIG_IRQSOFF_TRACER) || \ 6cd8a4bb Steven Rostedt 2008-05-12 48 defined(CONFIG_PREEMPT_TRACER) 81d68a96 Steven Rostedt 2008-05-12 49 extern void stop_critical_timings(void); 81d68a96 Steven Rostedt 2008-05-12 50 extern void start_critical_timings(void); 81d68a96 Steven Rostedt 2008-05-12 51 #else 81d68a96 Steven Rostedt 2008-05-12 52 # define stop_critical_timings() do { } while (0) 81d68a96 Steven Rostedt 2008-05-12 53 # define start_critical_timings() do { } while (0) 81d68a96 Steven Rostedt 2008-05-12 54 #endif 81d68a96 Steven Rostedt 2008-05-12 55 df9ee292 David Howells 2010-10-07 56 /* df9ee292 David Howells 2010-10-07 57 * Wrap the arch provided IRQ routines to provide appropriate checks. df9ee292 David Howells 2010-10-07 58 */ df9ee292 David Howells 2010-10-07 59 #define raw_local_irq_disable() arch_local_irq_disable() df9ee292 David Howells 2010-10-07 60 #define raw_local_irq_enable() arch_local_irq_enable() df9ee292 David Howells 2010-10-07 61 #define raw_local_irq_save(flags) \ df9ee292 David Howells 2010-10-07 62 do { \ df9ee292 David Howells 2010-10-07 @63 typecheck(unsigned long, flags); \ df9ee292 David Howells 2010-10-07 64 flags = arch_local_irq_save(); \ df9ee292 David Howells 2010-10-07 65 } while (0) df9ee292 David Howells 2010-10-07 66 #define raw_local_irq_restore(flags) \ df9ee292 David Howells 2010-10-07 67 do { \ df9ee292 David Howells 2010-10-07 68 typecheck(unsigned long, flags); \ df9ee292 David Howells 2010-10-07 69 arch_local_irq_restore(flags); \ df9ee292 David Howells 2010-10-07 70 } while (0) df9ee292 David Howells 2010-10-07 71 #define raw_local_save_flags(flags) \ :::::: The code at line 63 was first introduced by commit :::::: df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101 Fix IRQ flag handling naming :::::: TO: David Howells :::::: CC: David Howells --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation