Skip to content
  • Russell King's avatar
    remove linux/hardirq.h from asm-generic/local.h · ba84be23
    Russell King authored
    
    
    While looking at reducing the amount of architecture namespace pollution
    in the generic kernel, I found that asm/irq.h is included in the vast
    majority of compilations on ARM (around 650 files.)
    
    Since asm/irq.h includes a sub-architecture include file on ARM, this
    causes a negative impact on the ccache's ability to re-use the build
    results from other sub-architectures, so we have a desire to reduce the
    dependencies on asm/irq.h.
    
    It turns out that a major cause of this is the needless include of
    linux/hardirq.h into asm-generic/local.h.  The patch below removes this
    include, resulting in some 250 to 300 files (around half) of the kernel
    then omitting asm/irq.h.
    
    My test builds still succeed, provided two ARM files are fixed
    (arch/arm/kernel/traps.c and arch/arm/mm/fault.c) - so there may be
    negative impacts for this on other architectures.
    
    Note that x86 does not include asm/irq.h nor linux/hardirq.h in its
    asm/local.h, so this patch can be viewed as bringing the generic version
    into line with the x86 version.
    
    [kosaki.motohiro@jp.fujitsu.com: add #include <linux/irqflags.h> to acpi/processor_idle.c]
    [adobriyan@gmail.com: fix sparc64]
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ba84be23