Hi all, After merging the printk tree, today's linux-next build (powerpc allyesconfig) failed like this: In file included from include/linux/printk.h:10, from include/linux/kernel.h:15, from include/asm-generic/bug.h:20, from arch/powerpc/include/asm/bug.h:109, from include/linux/bug.h:5, from arch/powerpc/include/asm/cmpxchg.h:8, from arch/powerpc/include/asm/atomic.h:11, from include/linux/atomic.h:7, from include/asm-generic/qspinlock_types.h:19, from arch/powerpc/include/asm/spinlock_types.h:10, from include/linux/spinlock_types.h:13, from include/linux/genalloc.h:32, from drivers/soc/fsl/qe/qe_common.c:16: include/linux/ratelimit_types.h:16:2: error: unknown type name 'raw_spinlock_t' 16 | raw_spinlock_t lock; /* protect the state */ | ^~~~~~~~~~~~~~ In file included from include/linux/wait.h:9, from include/linux/pid.h:6, from include/linux/sched.h:14, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from include/linux/node.h:18, from include/linux/cpu.h:17, from include/linux/of_device.h:5, from drivers/soc/fsl/qe/qe_common.c:19: include/linux/ratelimit.h: In function 'ratelimit_state_init': include/linux/ratelimit.h:14:21: error: passing argument 1 of '__raw_spin_lock_init' from incompatible pointer type [-Werror=incompatible-pointer-types] 14 | raw_spin_lock_init(&rs->lock); include/linux/spinlock.h:103:24: note: in definition of macro 'raw_spin_lock_init' 103 | __raw_spin_lock_init((lock), #lock, &__key, LD_WAIT_SPIN); \ | ^~~~ include/linux/spinlock.h:96:52: note: expected 'raw_spinlock_t *' {aka 'struct raw_spinlock *'} but argument is of type 'int *' 96 | extern void __raw_spin_lock_init(raw_spinlock_t *lock, const char *name, | ~~~~~~~~~~~~~~~~^~~~ In file included from arch/powerpc/include/asm/cmpxchg.h:8, from arch/powerpc/include/asm/atomic.h:11, from include/linux/atomic.h:7, from include/asm-generic/qspinlock_types.h:19, from arch/powerpc/include/asm/spinlock_types.h:10, from include/linux/spinlock_types.h:13, from include/linux/ratelimit_types.h:7, from include/linux/printk.h:10, from include/linux/kernel.h:15, from include/asm-generic/bug.h:20, from arch/powerpc/include/asm/bug.h:109, from drivers/block/drbd/drbd_interval.c:2: include/linux/bug.h:34:47: warning: 'struct bug_entry' declared inside parameter list will not be visible outside of this definition or declaration 34 | static inline int is_warning_bug(const struct bug_entry *bug) | ^~~~~~~~~ include/linux/bug.h: In function 'is_warning_bug': include/linux/bug.h:36:12: error: dereferencing pointer to incomplete type 'const struct bug_entry' 36 | return bug->flags & BUGFLAG_WARNING; | ^~ And another similar. Caused by commit b4a461e72bcb ("printk: Make linux/printk.h self-contained") This is becoming a bit of a whack-a-mole :-( I have reverted that commit for today. -- Cheers, Stephen Rothwell