]> git.baikalelectronics.ru Git - kernel.git/commit
printk: Make linux/printk.h self-contained
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 21 Jul 2020 06:22:48 +0000 (16:22 +1000)
committerSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Mon, 27 Jul 2020 08:46:24 +0000 (17:46 +0900)
commit252c0f6939608971f1049c30c1f770256da70092
tree9384d6ab3bef584f4bee0b8a3b75e929c8d8dd2a
parentd79853fbd343e4e0e8b8257c22a2ad4d4f869c9e
printk: Make linux/printk.h self-contained

As it stands if you include printk.h by itself it will fail to
compile because it requires definitions from ratelimit.h.  However,
simply including ratelimit.h from printk.h does not work due to
inclusion loops involving sched.h and kernel.h.

This patch solves this by moving bits from ratelimit.h into a new
header file which can then be included by printk.h without any
worries about header loops.

The build bot then revealed some intriguing failures arising out
of this patch.  On s390 there is an inclusion loop with asm/bug.h
and linux/kernel.h that triggers a compile failure, because kernel.h
will cause asm-generic/bug.h to be included before s390's own
asm/bug.h has finished processing.  This has been fixed by not
including kernel.h in arch/s390/include/asm/bug.h.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Acked-by: Petr Mladek <pmladek@suse.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Link: https://lore.kernel.org/r/20200721062248.GA18383@gondor.apana.org.au
arch/s390/include/asm/bug.h
include/linux/printk.h
include/linux/ratelimit.h
include/linux/ratelimit_types.h [new file with mode: 0644]