27 Jul, 2020

1 commit

  • 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
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Sergey Senozhatsky
    Acked-by: Petr Mladek
    Acked-by: Steven Rostedt (VMware)
    Signed-off-by: Sergey Senozhatsky
    Link: https://lore.kernel.org/r/20200721062248.GA18383@gondor.apana.org.au

    Herbert Xu