diff mbox

x86: include linux/ratelimit.h in nmi.c

Message ID 1465222212-2579966-1-git-send-email-arnd@arndb.de
State Accepted
Headers show

Commit Message

Arnd Bergmann June 6, 2016, 2:09 p.m. UTC
When building random configurations, we now occasionally get a new
build error:

   In file included from include/linux/kernel.h:13:0,
                    from include/linux/list.h:8,
                    from include/linux/preempt.h:10,
                    from include/linux/spinlock.h:50,
                    from arch/x86/kernel/nmi.c:13:
   arch/x86/kernel/nmi.c: In function 'nmi_max_handler':
   include/linux/printk.h:375:9: error: type defaults to 'int' in declaration of 'DEFINE_RATELIMIT_STATE' [-Werror=implicit-int]
     static DEFINE_RATELIMIT_STATE(_rs,    \
            ^
   arch/x86/kernel/nmi.c:110:2: note: in expansion of macro 'printk_ratelimited'
     printk_ratelimited(KERN_INFO
     ^~~~~~~~~~~~~~~~~~

This was working before the rtc rework series because linux/ratelimit.h
was included implictly through asm/mach_traps.h -> asm/mc146818rtc.h
-> linux/mc146818rtc.h -> linux/rtc.h -> linux/device.h.

We clearly shouldn't rely on this indirect inclusion, so this adds
an explicit #include in the file that needs it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Fixes: 5ab788d73832 ("rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h")
---
It's only broken in the linux-rtc git at the moment, so it makes sense
to fix it there.

 arch/x86/kernel/nmi.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Gleixner June 6, 2016, 2:12 p.m. UTC | #1
On Mon, 6 Jun 2016, Arnd Bergmann wrote:
> When building random configurations, we now occasionally get a new
> build error:
> 
>    In file included from include/linux/kernel.h:13:0,
>                     from include/linux/list.h:8,
>                     from include/linux/preempt.h:10,
>                     from include/linux/spinlock.h:50,
>                     from arch/x86/kernel/nmi.c:13:
>    arch/x86/kernel/nmi.c: In function 'nmi_max_handler':
>    include/linux/printk.h:375:9: error: type defaults to 'int' in declaration of 'DEFINE_RATELIMIT_STATE' [-Werror=implicit-int]
>      static DEFINE_RATELIMIT_STATE(_rs,    \
>             ^
>    arch/x86/kernel/nmi.c:110:2: note: in expansion of macro 'printk_ratelimited'
>      printk_ratelimited(KERN_INFO
>      ^~~~~~~~~~~~~~~~~~
> 
> This was working before the rtc rework series because linux/ratelimit.h
> was included implictly through asm/mach_traps.h -> asm/mc146818rtc.h
> -> linux/mc146818rtc.h -> linux/rtc.h -> linux/device.h.
> 
> We clearly shouldn't rely on this indirect inclusion, so this adds
> an explicit #include in the file that needs it.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Reported-by: kbuild test robot <fengguang.wu@intel.com>
> Fixes: 5ab788d73832 ("rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h")
> ---
> It's only broken in the linux-rtc git at the moment, so it makes sense
> to fix it there.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Alexandre Belloni June 6, 2016, 3:08 p.m. UTC | #2
On 06/06/2016 at 16:09:52 +0200, Arnd Bergmann wrote :
> When building random configurations, we now occasionally get a new
> build error:
> 
>    In file included from include/linux/kernel.h:13:0,
>                     from include/linux/list.h:8,
>                     from include/linux/preempt.h:10,
>                     from include/linux/spinlock.h:50,
>                     from arch/x86/kernel/nmi.c:13:
>    arch/x86/kernel/nmi.c: In function 'nmi_max_handler':
>    include/linux/printk.h:375:9: error: type defaults to 'int' in declaration of 'DEFINE_RATELIMIT_STATE' [-Werror=implicit-int]
>      static DEFINE_RATELIMIT_STATE(_rs,    \
>             ^
>    arch/x86/kernel/nmi.c:110:2: note: in expansion of macro 'printk_ratelimited'
>      printk_ratelimited(KERN_INFO
>      ^~~~~~~~~~~~~~~~~~
> 
> This was working before the rtc rework series because linux/ratelimit.h
> was included implictly through asm/mach_traps.h -> asm/mc146818rtc.h
> -> linux/mc146818rtc.h -> linux/rtc.h -> linux/device.h.
> 
> We clearly shouldn't rely on this indirect inclusion, so this adds
> an explicit #include in the file that needs it.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Reported-by: kbuild test robot <fengguang.wu@intel.com>
> Fixes: 5ab788d73832 ("rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h")
> ---
> It's only broken in the linux-rtc git at the moment, so it makes sense
> to fix it there.
> 
>  arch/x86/kernel/nmi.c | 1 +
>  1 file changed, 1 insertion(+)
> 
Applied, thanks.
diff mbox

Patch

diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index 04b132a767f1..bfe4d6c96fbd 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -17,6 +17,7 @@ 
 #include <linux/debugfs.h>
 #include <linux/delay.h>
 #include <linux/hardirq.h>
+#include <linux/ratelimit.h>
 #include <linux/slab.h>
 #include <linux/export.h>