Skip to content
  • Arnd Bergmann's avatar
    x86: include linux/ratelimit.h in nmi.c · c361db5c
    Arnd Bergmann authored
    
    
    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: default avatarArnd Bergmann <arnd@arndb.de>
    Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
    Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Fixes: 5ab788d7
    
     ("rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h")
    Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
    c361db5c