tree:
https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git
for-review/acpi-iort-id-rework
head: b2a8809a420d6d12a92d54c343c360ead32af752
commit: 6b448905a263276e5f0b1f6c677425049c729270 [8/12] of/irq: make
of_msi_map_get_device_domain() bus agnostic
config: x86_64-randconfig-s002-20200519 (attached as .config)
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout 6b448905a263276e5f0b1f6c677425049c729270
# save the attached .config to linux build tree
make C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
include/linux/of_irq.h:89:1: sparse: sparse: missing identifier in declaration
include/linux/of_irq.h:89:1: sparse: sparse: Expected ; at the end of type declaration
include/linux/of_irq.h:89:1: sparse: sparse: got {
include/linux/of_irq.h:91:1: sparse: sparse: Expected ; at the end of type declaration
include/linux/of_irq.h:91:1: sparse: sparse: got }
include/linux/of_irq.h:99:1: sparse: sparse: Expected ; at the end of type declaration
include/linux/of_irq.h:99:1: sparse: sparse: got }
include/linux/of_irq.h:115:1: sparse: sparse: Expected ; at the end of type
declaration
include/linux/of_irq.h:115:1: sparse: sparse: got }
include/linux/bit_spinlock.h:25:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:25:9: sparse: sparse: got }
include/linux/bit_spinlock.h:27:16: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:27:16: sparse: sparse: got (
> include/linux/bit_spinlock.h:27:9: sparse: sparse: Trying to use
reserved word 'while' as identifier
include/linux/bit_spinlock.h:28:17:
sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:28:17: sparse: sparse: got (
> include/linux/bit_spinlock.h:28:17: sparse: sparse: Trying to use
reserved word 'if' as identifier
include/linux/bit_spinlock.h:28:17:
sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:28:17: sparse: sparse: got 0
include/linux/bit_spinlock.h:28:17: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:28:17: sparse: sparse: got }
include/linux/bit_spinlock.h:28:17: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:28:17: sparse: sparse: got }
> include/linux/bit_spinlock.h:29:17: sparse: sparse: Trying to use
reserved word 'do' as identifier
include/linux/bit_spinlock.h:29:20:
sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:29:20: sparse: sparse: got {
include/linux/bit_spinlock.h:31:17: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:31:17: sparse: sparse: got }
include/linux/bit_spinlock.h:32:17: sparse: sparse: Trying to use reserved word
'do' as identifier
include/linux/bit_spinlock.h:32:17: sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:32:17: sparse: sparse: got {
include/linux/bit_spinlock.h:32:17: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:32:17: sparse: sparse: got }
include/linux/bit_spinlock.h:33:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:33:9: sparse: sparse: got }
include/linux/bit_spinlock.h:36:1: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:36:1: sparse: sparse: got }
include/linux/bit_spinlock.h:43:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:43:9: sparse: sparse: got }
include/linux/bit_spinlock.h:45:13: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:45:13: sparse: sparse: got (
include/linux/bit_spinlock.h:45:9: sparse: sparse: Trying to use reserved word
'if' as identifier
include/linux/bit_spinlock.h:46:17: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:46:17: sparse: sparse: got (
include/linux/bit_spinlock.h:46:17: sparse: sparse: Trying to use reserved word
'if' as identifier
include/linux/bit_spinlock.h:46:17: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:46:17: sparse: sparse: got 0
include/linux/bit_spinlock.h:46:17: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:46:17: sparse: sparse: got }
include/linux/bit_spinlock.h:46:17: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:46:17: sparse: sparse: got }
> include/linux/bit_spinlock.h:47:17: sparse: sparse: Trying to use
reserved word 'return' as identifier
include/linux/bit_spinlock.h:47:24:
sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:47:24: sparse: sparse: got 0
include/linux/bit_spinlock.h:48:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:48:9: sparse: sparse: got }
include/linux/bit_spinlock.h:51:9: sparse: sparse: Trying to use reserved word
'return' as identifier
include/linux/bit_spinlock.h:51:16: sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:51:16: sparse: sparse: got 1
include/linux/bit_spinlock.h:52:1: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:52:1: sparse: sparse: got }
include/linux/bit_spinlock.h:60:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:60:9: sparse: sparse: got }
include/linux/bit_spinlock.h:60:9: sparse: sparse: Trying to use reserved word
'do' as identifier
include/linux/bit_spinlock.h:60:9: sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:60:9: sparse: sparse: got {
include/linux/bit_spinlock.h:60:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:60:9: sparse: sparse: got }
include/linux/bit_spinlock.h:60:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:60:9: sparse: sparse: got }
include/linux/bit_spinlock.h:60:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:60:9: sparse: sparse: got }
include/linux/bit_spinlock.h:60:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:60:9: sparse: sparse: got }
include/linux/bit_spinlock.h:65:9: sparse: sparse: Trying to use reserved word
'do' as identifier
include/linux/bit_spinlock.h:65:9: sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:65:9: sparse: sparse: got {
include/linux/bit_spinlock.h:65:9: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:65:9: sparse: sparse: got (
include/linux/bit_spinlock.h:65:9: sparse: sparse: Trying to use reserved word
'if' as identifier
include/linux/bit_spinlock.h:65:9: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:65:9: sparse: sparse: got 0
include/linux/bit_spinlock.h:65:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:65:9: sparse: sparse: got }
include/linux/bit_spinlock.h:65:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:65:9: sparse: sparse: got }
include/linux/bit_spinlock.h:66:9: sparse: sparse: Expected ) in function declarator
include/linux/bit_spinlock.h:66:9: sparse: sparse: got ,
> include/linux/bit_spinlock.h:66:9: sparse: sparse: Trying to use
reserved word '__context__' as identifier
include/linux/bit_spinlock.h:67:1: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:67:1: sparse: sparse: got }
include/linux/bit_spinlock.h:77:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:77:9: sparse: sparse: got }
include/linux/bit_spinlock.h:77:9: sparse: sparse: Trying to use reserved word
'do' as identifier
include/linux/bit_spinlock.h:77:9: sparse: sparse: Expected ; at end of declaration
include/linux/bit_spinlock.h:77:9: sparse: sparse: got {
include/linux/bit_spinlock.h:77:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:77:9: sparse: sparse: got }
include/linux/bit_spinlock.h:77:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:77:9: sparse: sparse: got }
include/linux/bit_spinlock.h:77:9: sparse: sparse: Expected ; at the end of type
declaration
include/linux/bit_spinlock.h:77:9: sparse: sparse: got }
> include/linux/bit_spinlock.h:77:9: sparse: sparse: too many
errors
vim +/while +27 include/linux/bit_spinlock.h
626d607435617c Nick Piggin 2011-01-07 9
fb1c8f93d869b3 Ingo Molnar 2005-09-10 10 /*
fb1c8f93d869b3 Ingo Molnar 2005-09-10 11 * bit-based spin_lock()
fb1c8f93d869b3 Ingo Molnar 2005-09-10 12 *
fb1c8f93d869b3 Ingo Molnar 2005-09-10 13 * Don't use this unless you really need
to: spin_lock() and spin_unlock()
fb1c8f93d869b3 Ingo Molnar 2005-09-10 14 * are significantly faster.
fb1c8f93d869b3 Ingo Molnar 2005-09-10 15 */
fb1c8f93d869b3 Ingo Molnar 2005-09-10 16 static inline void bit_spin_lock(int bitnum,
unsigned long *addr)
fb1c8f93d869b3 Ingo Molnar 2005-09-10 17 {
fb1c8f93d869b3 Ingo Molnar 2005-09-10 18 /*
fb1c8f93d869b3 Ingo Molnar 2005-09-10 19 * Assuming the lock is uncontended, this
never enters
fb1c8f93d869b3 Ingo Molnar 2005-09-10 20 * the body of the outer loop. If it is
contended, then
fb1c8f93d869b3 Ingo Molnar 2005-09-10 21 * within the inner loop a non-atomic test
is used to
fb1c8f93d869b3 Ingo Molnar 2005-09-10 22 * busywait with less bus contention for a
good time to
fb1c8f93d869b3 Ingo Molnar 2005-09-10 23 * attempt to acquire the lock bit.
fb1c8f93d869b3 Ingo Molnar 2005-09-10 24 */
fb1c8f93d869b3 Ingo Molnar 2005-09-10 25 preempt_disable();
fb1c8f93d869b3 Ingo Molnar 2005-09-10 26 #if defined(CONFIG_SMP) ||
defined(CONFIG_DEBUG_SPINLOCK)
b8dc93cbe91324 Nick Piggin 2007-10-18 @27 while
(unlikely(test_and_set_bit_lock(bitnum, addr))) {
fb1c8f93d869b3 Ingo Molnar 2005-09-10 @28 preempt_enable();
3dd2ee4824b668 Linus Torvalds 2011-04-25 @29 do {
fb1c8f93d869b3 Ingo Molnar 2005-09-10 30 cpu_relax();
3dd2ee4824b668 Linus Torvalds 2011-04-25 31 } while (test_bit(bitnum, addr));
fb1c8f93d869b3 Ingo Molnar 2005-09-10 32 preempt_disable();
fb1c8f93d869b3 Ingo Molnar 2005-09-10 33 }
fb1c8f93d869b3 Ingo Molnar 2005-09-10 34 #endif
fb1c8f93d869b3 Ingo Molnar 2005-09-10 35 __acquire(bitlock);
fb1c8f93d869b3 Ingo Molnar 2005-09-10 36 }
fb1c8f93d869b3 Ingo Molnar 2005-09-10 37
fb1c8f93d869b3 Ingo Molnar 2005-09-10 38 /*
fb1c8f93d869b3 Ingo Molnar 2005-09-10 39 * Return true if it was acquired
fb1c8f93d869b3 Ingo Molnar 2005-09-10 40 */
fb1c8f93d869b3 Ingo Molnar 2005-09-10 41 static inline int bit_spin_trylock(int
bitnum, unsigned long *addr)
fb1c8f93d869b3 Ingo Molnar 2005-09-10 42 {
fb1c8f93d869b3 Ingo Molnar 2005-09-10 43 preempt_disable();
fb1c8f93d869b3 Ingo Molnar 2005-09-10 44 #if defined(CONFIG_SMP) ||
defined(CONFIG_DEBUG_SPINLOCK)
b8dc93cbe91324 Nick Piggin 2007-10-18 45 if (unlikely(test_and_set_bit_lock(bitnum,
addr))) {
fb1c8f93d869b3 Ingo Molnar 2005-09-10 46 preempt_enable();
fb1c8f93d869b3 Ingo Molnar 2005-09-10 @47 return 0;
fb1c8f93d869b3 Ingo Molnar 2005-09-10 48 }
fb1c8f93d869b3 Ingo Molnar 2005-09-10 49 #endif
fb1c8f93d869b3 Ingo Molnar 2005-09-10 50 __acquire(bitlock);
fb1c8f93d869b3 Ingo Molnar 2005-09-10 51 return 1;
fb1c8f93d869b3 Ingo Molnar 2005-09-10 52 }
fb1c8f93d869b3 Ingo Molnar 2005-09-10 53
fb1c8f93d869b3 Ingo Molnar 2005-09-10 54 /*
fb1c8f93d869b3 Ingo Molnar 2005-09-10 55 * bit-based spin_unlock()
fb1c8f93d869b3 Ingo Molnar 2005-09-10 56 */
fb1c8f93d869b3 Ingo Molnar 2005-09-10 57 static inline void bit_spin_unlock(int
bitnum, unsigned long *addr)
fb1c8f93d869b3 Ingo Molnar 2005-09-10 58 {
b8dc93cbe91324 Nick Piggin 2007-10-18 59 #ifdef CONFIG_DEBUG_SPINLOCK
b8dc93cbe91324 Nick Piggin 2007-10-18 60 BUG_ON(!test_bit(bitnum, addr));
b8dc93cbe91324 Nick Piggin 2007-10-18 61 #endif
fb1c8f93d869b3 Ingo Molnar 2005-09-10 62 #if defined(CONFIG_SMP) ||
defined(CONFIG_DEBUG_SPINLOCK)
b8dc93cbe91324 Nick Piggin 2007-10-18 63 clear_bit_unlock(bitnum, addr);
b8dc93cbe91324 Nick Piggin 2007-10-18 64 #endif
b8dc93cbe91324 Nick Piggin 2007-10-18 65 preempt_enable();
b8dc93cbe91324 Nick Piggin 2007-10-18 @66 __release(bitlock);
b8dc93cbe91324 Nick Piggin 2007-10-18 67 }
b8dc93cbe91324 Nick Piggin 2007-10-18 68
b8dc93cbe91324 Nick Piggin 2007-10-18 69 /*
b8dc93cbe91324 Nick Piggin 2007-10-18 70 * bit-based spin_unlock()
b8dc93cbe91324 Nick Piggin 2007-10-18 71 * non-atomic version, which can be used
eg. if the bit lock itself is
b8dc93cbe91324 Nick Piggin 2007-10-18 72 * protecting the rest of the flags in the
word.
b8dc93cbe91324 Nick Piggin 2007-10-18 73 */
b8dc93cbe91324 Nick Piggin 2007-10-18 74 static inline void __bit_spin_unlock(int
bitnum, unsigned long *addr)
b8dc93cbe91324 Nick Piggin 2007-10-18 75 {
b8dc93cbe91324 Nick Piggin 2007-10-18 76 #ifdef CONFIG_DEBUG_SPINLOCK
fb1c8f93d869b3 Ingo Molnar 2005-09-10 @77 BUG_ON(!test_bit(bitnum, addr));
b8dc93cbe91324 Nick Piggin 2007-10-18 78 #endif
b8dc93cbe91324 Nick Piggin 2007-10-18 79 #if defined(CONFIG_SMP) ||
defined(CONFIG_DEBUG_SPINLOCK)
b8dc93cbe91324 Nick Piggin 2007-10-18 80 __clear_bit_unlock(bitnum, addr);
fb1c8f93d869b3 Ingo Molnar 2005-09-10 81 #endif
fb1c8f93d869b3 Ingo Molnar 2005-09-10 82 preempt_enable();
fb1c8f93d869b3 Ingo Molnar 2005-09-10 83 __release(bitlock);
fb1c8f93d869b3 Ingo Molnar 2005-09-10 84 }
fb1c8f93d869b3 Ingo Molnar 2005-09-10 85
:::::: The code at line 27 was first introduced by commit
:::::: b8dc93cbe91324b922395919cd5df4cca2fe55f6 bit_spin_lock: use lock bitops
:::::: TO: Nick Piggin <npiggin(a)suse.de>
:::::: CC: Linus Torvalds <torvalds(a)woody.linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org