Hi Kumar, kernel test robot noticed the following build errors: [auto build test ERROR on f44275e7155dc310d36516fc25be503da099781c] url: https://github.com/intel-lab-lkp/linux/commits/Kumar-Kartikeya-Dwivedi/locking-Move-MCS-struct-definition-to-public-header/20250107-220615 base: f44275e7155dc310d36516fc25be503da099781c patch link: https://lore.kernel.org/r/20250107140004.2732830-21-memxor%40gmail.com patch subject: [PATCH bpf-next v1 20/22] bpf: Introduce rqspinlock kfuncs config: loongarch-allnoconfig (https://download.01.org/0day-ci/archive/20250108/202501081853.1N3CiU6j-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250108/202501081853.1N3CiU6j-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202501081853.1N3CiU6j-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from include/asm-generic/qspinlock.h:42, from arch/loongarch/include/asm/qspinlock.h:39, from include/asm-generic/rqspinlock.h:15, from ./arch/loongarch/include/generated/asm/rqspinlock.h:1, from include/linux/bpf.h:33, from include/linux/security.h:35, from kernel/printk/printk.c:34: include/asm-generic/qspinlock_types.h:44:3: error: conflicting types for 'arch_spinlock_t'; have 'struct qspinlock' 44 | } arch_spinlock_t; | ^~~~~~~~~~~~~~~ In file included from include/linux/spinlock_types_raw.h:9, from include/linux/ratelimit_types.h:7, from include/linux/printk.h:9, from include/linux/kernel.h:31, from kernel/printk/printk.c:22: include/linux/spinlock_types_up.h:25:20: note: previous declaration of 'arch_spinlock_t' with type 'arch_spinlock_t' 25 | typedef struct { } arch_spinlock_t; | ^~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:9: warning: "__ARCH_SPIN_LOCK_UNLOCKED" redefined 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_up.h:27:9: note: this is the location of the previous definition 27 | #define __ARCH_SPIN_LOCK_UNLOCKED { } | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock.h:144:9: warning: "arch_spin_is_locked" redefined 144 | #define arch_spin_is_locked(l) queued_spin_is_locked(l) | ^~~~~~~~~~~~~~~~~~~ In file included from include/linux/spinlock.h:97, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/mm.h:7, from kernel/printk/printk.c:23: include/linux/spinlock_up.h:62:9: note: this is the location of the previous definition 62 | #define arch_spin_is_locked(lock) ((void)(lock), 0) | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock.h:145:9: warning: "arch_spin_is_contended" redefined 145 | #define arch_spin_is_contended(l) queued_spin_is_contended(l) | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_up.h:69:9: note: this is the location of the previous definition 69 | #define arch_spin_is_contended(lock) (((void)(lock), 0)) | ^~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock.h:147:9: warning: "arch_spin_lock" redefined 147 | #define arch_spin_lock(l) queued_spin_lock(l) | ^~~~~~~~~~~~~~ include/linux/spinlock_up.h:64:10: note: this is the location of the previous definition 64 | # define arch_spin_lock(lock) do { barrier(); (void)(lock); } while (0) | ^~~~~~~~~~~~~~ include/asm-generic/qspinlock.h:148:9: warning: "arch_spin_trylock" redefined 148 | #define arch_spin_trylock(l) queued_spin_trylock(l) | ^~~~~~~~~~~~~~~~~ include/linux/spinlock_up.h:66:10: note: this is the location of the previous definition 66 | # define arch_spin_trylock(lock) ({ barrier(); (void)(lock); 1; }) | ^~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock.h:149:9: warning: "arch_spin_unlock" redefined 149 | #define arch_spin_unlock(l) queued_spin_unlock(l) | ^~~~~~~~~~~~~~~~ include/linux/spinlock_up.h:65:10: note: this is the location of the previous definition 65 | # define arch_spin_unlock(lock) do { barrier(); (void)(lock); } while (0) | ^~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:89:8: note: in expansion of macro 'DEFINE_MUTEX' 89 | static DEFINE_MUTEX(console_mutex); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:89:8: note: in expansion of macro 'DEFINE_MUTEX' 89 | static DEFINE_MUTEX(console_mutex); | ^~~~~~~~~~~~ In file included from include/linux/atomic.h:7, from include/asm-generic/bitops/atomic.h:5, from arch/loongarch/include/asm/bitops.h:27, from include/linux/bitops.h:68, from include/linux/kernel.h:23: >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:89:8: note: in expansion of macro 'DEFINE_MUTEX' 89 | static DEFINE_MUTEX(console_mutex); | ^~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:89:8: note: in expansion of macro 'DEFINE_MUTEX' 89 | static DEFINE_MUTEX(console_mutex); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:89:8: note: in expansion of macro 'DEFINE_MUTEX' 89 | static DEFINE_MUTEX(console_mutex); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:89:8: note: in expansion of macro 'DEFINE_MUTEX' 89 | static DEFINE_MUTEX(console_mutex); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 23 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:35:34: note: in expansion of macro '__SEMAPHORE_INITIALIZER' 35 | struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:95:8: note: in expansion of macro 'DEFINE_SEMAPHORE' 95 | static DEFINE_SEMAPHORE(console_sem, 1); | ^~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 23 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:35:34: note: in expansion of macro '__SEMAPHORE_INITIALIZER' 35 | struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:95:8: note: in expansion of macro 'DEFINE_SEMAPHORE' 95 | static DEFINE_SEMAPHORE(console_sem, 1); | ^~~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 23 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:35:34: note: in expansion of macro '__SEMAPHORE_INITIALIZER' 35 | struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:95:8: note: in expansion of macro 'DEFINE_SEMAPHORE' 95 | static DEFINE_SEMAPHORE(console_sem, 1); | ^~~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 23 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:35:34: note: in expansion of macro '__SEMAPHORE_INITIALIZER' 35 | struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:95:8: note: in expansion of macro 'DEFINE_SEMAPHORE' 95 | static DEFINE_SEMAPHORE(console_sem, 1); | ^~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 23 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:35:34: note: in expansion of macro '__SEMAPHORE_INITIALIZER' 35 | struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:95:8: note: in expansion of macro 'DEFINE_SEMAPHORE' 95 | static DEFINE_SEMAPHORE(console_sem, 1); | ^~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:23:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 23 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/semaphore.h:35:34: note: in expansion of macro '__SEMAPHORE_INITIALIZER' 35 | struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:95:8: note: in expansion of macro 'DEFINE_SEMAPHORE' 95 | static DEFINE_SEMAPHORE(console_sem, 1); | ^~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/swait.h:62:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 62 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:36:20: note: in expansion of macro '__SWAIT_QUEUE_HEAD_INITIALIZER' 36 | .srcu_wq = __SWAIT_QUEUE_HEAD_INITIALIZER(name.srcu_wq), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:49:42: note: in expansion of macro '__SRCU_STRUCT_INIT' 49 | static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name) | ^~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:98:1: note: in expansion of macro 'DEFINE_STATIC_SRCU' 98 | DEFINE_STATIC_SRCU(console_srcu); | ^~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/swait.h:62:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 62 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:36:20: note: in expansion of macro '__SWAIT_QUEUE_HEAD_INITIALIZER' 36 | .srcu_wq = __SWAIT_QUEUE_HEAD_INITIALIZER(name.srcu_wq), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:49:42: note: in expansion of macro '__SRCU_STRUCT_INIT' 49 | static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name) | ^~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:98:1: note: in expansion of macro 'DEFINE_STATIC_SRCU' 98 | DEFINE_STATIC_SRCU(console_srcu); | ^~~~~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/swait.h:62:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 62 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:36:20: note: in expansion of macro '__SWAIT_QUEUE_HEAD_INITIALIZER' 36 | .srcu_wq = __SWAIT_QUEUE_HEAD_INITIALIZER(name.srcu_wq), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:49:42: note: in expansion of macro '__SRCU_STRUCT_INIT' 49 | static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name) | ^~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:98:1: note: in expansion of macro 'DEFINE_STATIC_SRCU' 98 | DEFINE_STATIC_SRCU(console_srcu); | ^~~~~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/swait.h:62:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 62 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:36:20: note: in expansion of macro '__SWAIT_QUEUE_HEAD_INITIALIZER' 36 | .srcu_wq = __SWAIT_QUEUE_HEAD_INITIALIZER(name.srcu_wq), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:49:42: note: in expansion of macro '__SRCU_STRUCT_INIT' 49 | static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name) | ^~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:98:1: note: in expansion of macro 'DEFINE_STATIC_SRCU' 98 | DEFINE_STATIC_SRCU(console_srcu); | ^~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/swait.h:62:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 62 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:36:20: note: in expansion of macro '__SWAIT_QUEUE_HEAD_INITIALIZER' 36 | .srcu_wq = __SWAIT_QUEUE_HEAD_INITIALIZER(name.srcu_wq), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:49:42: note: in expansion of macro '__SRCU_STRUCT_INIT' 49 | static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name) | ^~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:98:1: note: in expansion of macro 'DEFINE_STATIC_SRCU' 98 | DEFINE_STATIC_SRCU(console_srcu); | ^~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/swait.h:62:27: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 62 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:36:20: note: in expansion of macro '__SWAIT_QUEUE_HEAD_INITIALIZER' 36 | .srcu_wq = __SWAIT_QUEUE_HEAD_INITIALIZER(name.srcu_wq), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/srcutiny.h:49:42: note: in expansion of macro '__SRCU_STRUCT_INIT' 49 | static struct srcu_struct name = __SRCU_STRUCT_INIT(name, name, name) | ^~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:98:1: note: in expansion of macro 'DEFINE_STATIC_SRCU' 98 | DEFINE_STATIC_SRCU(console_srcu); | ^~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:465:8: note: in expansion of macro 'DEFINE_MUTEX' 465 | static DEFINE_MUTEX(syslog_lock); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:465:8: note: in expansion of macro 'DEFINE_MUTEX' 465 | static DEFINE_MUTEX(syslog_lock); | ^~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:465:8: note: in expansion of macro 'DEFINE_MUTEX' 465 | static DEFINE_MUTEX(syslog_lock); | ^~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:465:8: note: in expansion of macro 'DEFINE_MUTEX' 465 | static DEFINE_MUTEX(syslog_lock); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:465:8: note: in expansion of macro 'DEFINE_MUTEX' 465 | static DEFINE_MUTEX(syslog_lock); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:81:32: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 81 | , .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(lockname.wait_lock) \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:87:34: note: in expansion of macro '__MUTEX_INITIALIZER' 87 | struct mutex mutexname = __MUTEX_INITIALIZER(mutexname) | ^~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:465:8: note: in expansion of macro 'DEFINE_MUTEX' 465 | static DEFINE_MUTEX(syslog_lock); | ^~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:493:1: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 493 | DECLARE_WAIT_QUEUE_HEAD(log_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:493:1: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 493 | DECLARE_WAIT_QUEUE_HEAD(log_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:493:1: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 493 | DECLARE_WAIT_QUEUE_HEAD(log_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:493:1: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 493 | DECLARE_WAIT_QUEUE_HEAD(log_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:493:1: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 493 | DECLARE_WAIT_QUEUE_HEAD(log_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:493:1: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 493 | DECLARE_WAIT_QUEUE_HEAD(log_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:494:8: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 494 | static DECLARE_WAIT_QUEUE_HEAD(legacy_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:494:8: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 494 | static DECLARE_WAIT_QUEUE_HEAD(legacy_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:494:8: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 494 | static DECLARE_WAIT_QUEUE_HEAD(legacy_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:494:8: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 494 | static DECLARE_WAIT_QUEUE_HEAD(legacy_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:494:8: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 494 | static DECLARE_WAIT_QUEUE_HEAD(legacy_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:56:27: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 56 | .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~ include/linux/wait.h:60:39: note: in expansion of macro '__WAIT_QUEUE_HEAD_INITIALIZER' 60 | struct wait_queue_head name = __WAIT_QUEUE_HEAD_INITIALIZER(name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:494:8: note: in expansion of macro 'DECLARE_WAIT_QUEUE_HEAD' 494 | static DECLARE_WAIT_QUEUE_HEAD(legacy_wait); | ^~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:71:52: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 71 | #define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:1891:8: note: in expansion of macro 'DEFINE_RAW_SPINLOCK' 1891 | static DEFINE_RAW_SPINLOCK(console_owner_lock); | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:71:52: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 71 | #define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:1891:8: note: in expansion of macro 'DEFINE_RAW_SPINLOCK' 1891 | static DEFINE_RAW_SPINLOCK(console_owner_lock); | ^~~~~~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:71:52: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 71 | #define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:1891:8: note: in expansion of macro 'DEFINE_RAW_SPINLOCK' 1891 | static DEFINE_RAW_SPINLOCK(console_owner_lock); | ^~~~~~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:71:52: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 71 | #define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:1891:8: note: in expansion of macro 'DEFINE_RAW_SPINLOCK' 1891 | static DEFINE_RAW_SPINLOCK(console_owner_lock); | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:71:52: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 71 | #define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:1891:8: note: in expansion of macro 'DEFINE_RAW_SPINLOCK' 1891 | static DEFINE_RAW_SPINLOCK(console_owner_lock); | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:71:52: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 71 | #define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:1891:8: note: in expansion of macro 'DEFINE_RAW_SPINLOCK' 1891 | static DEFINE_RAW_SPINLOCK(console_owner_lock); | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 27 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS' 34 | RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT' 42 | RATELIMIT_STATE_INIT(name, interval_init, burst_init) \ | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4592:1: note: in expansion of macro 'DEFINE_RATELIMIT_STATE' 4592 | DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); | ^~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 27 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS' 34 | RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT' 42 | RATELIMIT_STATE_INIT(name, interval_init, burst_init) \ | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4592:1: note: in expansion of macro 'DEFINE_RATELIMIT_STATE' 4592 | DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); | ^~~~~~~~~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 27 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS' 34 | RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT' 42 | RATELIMIT_STATE_INIT(name, interval_init, burst_init) \ | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4592:1: note: in expansion of macro 'DEFINE_RATELIMIT_STATE' 4592 | DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); | ^~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 27 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS' 34 | RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT' 42 | RATELIMIT_STATE_INIT(name, interval_init, burst_init) \ | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4592:1: note: in expansion of macro 'DEFINE_RATELIMIT_STATE' 4592 | DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); | ^~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 27 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS' 34 | RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT' 42 | RATELIMIT_STATE_INIT(name, interval_init, burst_init) \ | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4592:1: note: in expansion of macro 'DEFINE_RATELIMIT_STATE' 4592 | DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); | ^~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types_raw.h:64:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 64 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types_raw.h:69:26: note: in expansion of macro '__RAW_SPIN_LOCK_INITIALIZER' 69 | (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:27:35: note: in expansion of macro '__RAW_SPIN_LOCK_UNLOCKED' 27 | .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:34:9: note: in expansion of macro 'RATELIMIT_STATE_INIT_FLAGS' 34 | RATELIMIT_STATE_INIT_FLAGS(name, interval_init, burst_init, 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:42:17: note: in expansion of macro 'RATELIMIT_STATE_INIT' 42 | RATELIMIT_STATE_INIT(name, interval_init, burst_init) \ | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4592:1: note: in expansion of macro 'DEFINE_RATELIMIT_STATE' 4592 | DEFINE_RATELIMIT_STATE(printk_ratelimit_state, 5 * HZ, 10); | ^~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: error: extra brace group at end of initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 43 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4622:8: note: in expansion of macro 'DEFINE_SPINLOCK' 4622 | static DEFINE_SPINLOCK(dump_list_lock); | ^~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 43 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4622:8: note: in expansion of macro 'DEFINE_SPINLOCK' 4622 | static DEFINE_SPINLOCK(dump_list_lock); | ^~~~~~~~~~~~~~~ >> arch/loongarch/include/asm/atomic.h:32:27: error: extra brace group at end of initializer 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 43 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4622:8: note: in expansion of macro 'DEFINE_SPINLOCK' 4622 | static DEFINE_SPINLOCK(dump_list_lock); | ^~~~~~~~~~~~~~~ arch/loongarch/include/asm/atomic.h:32:27: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 32 | #define ATOMIC_INIT(i) { (i) } | ^ include/asm-generic/qspinlock_types.h:49:52: note: in expansion of macro 'ATOMIC_INIT' 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^~~~~~~~~~~ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 43 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4622:8: note: in expansion of macro 'DEFINE_SPINLOCK' 4622 | static DEFINE_SPINLOCK(dump_list_lock); | ^~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: warning: excess elements in struct initializer 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 43 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4622:8: note: in expansion of macro 'DEFINE_SPINLOCK' 4622 | static DEFINE_SPINLOCK(dump_list_lock); | ^~~~~~~~~~~~~~~ include/asm-generic/qspinlock_types.h:49:43: note: (near initialization for '(anonymous).<anonymous>.rlock.raw_lock') 49 | #define __ARCH_SPIN_LOCK_UNLOCKED { { .val = ATOMIC_INIT(0) } } | ^ include/linux/spinlock_types.h:33:21: note: in expansion of macro '__ARCH_SPIN_LOCK_UNLOCKED' 33 | .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:38:22: note: in expansion of macro '___SPIN_LOCK_INITIALIZER' 38 | { { .rlock = ___SPIN_LOCK_INITIALIZER(lockname) } } | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:41:22: note: in expansion of macro '__SPIN_LOCK_INITIALIZER' 41 | (spinlock_t) __SPIN_LOCK_INITIALIZER(lockname) | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/spinlock_types.h:43:48: note: in expansion of macro '__SPIN_LOCK_UNLOCKED' 43 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:4622:8: note: in expansion of macro 'DEFINE_SPINLOCK' 4622 | static DEFINE_SPINLOCK(dump_list_lock); | ^~~~~~~~~~~~~~~ vim +32 arch/loongarch/include/asm/atomic.h 5b0b14e550a006 Huacai Chen 2022-05-31 31 5b0b14e550a006 Huacai Chen 2022-05-31 @32 #define ATOMIC_INIT(i) { (i) } 5b0b14e550a006 Huacai Chen 2022-05-31 33 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki