• Christoph Hellwig's avatar
    [PATCH] factor out common <asm/hardirq.h> code · cfec5c01
    Christoph Hellwig authored
    Since the irq handling rework in 2.5 lots of code in the individual
    <asm/hardirq.h> files is the same.  This patch moves that common code
    to <linux/hardirq.h>.  The following differences existed:
    
     - alpha, m68k, m68knommu and v850 were missing the ~PREEMPT_ACTIVE
       masking in the CONFIG_PREEMPT case of in_atomic().  These
       architectures don't support CONFIG_PREEMPT else this would have been
       an easily-spottbale bug
     - S390 didn't provide synchronize_irq as it doesn't fit into their
       I/O model.  They now get a spurious prototype/macro
     - ppc added a new preemptible() macro that is provided for all
       architectures now.
    
    Most drivers were using <linux/interrupt.h> as they should, but a few
    drivers and lots of architecture code has been updated to use
    <linux/hardirq.h> instead of <asm/hardirq.h>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    cfec5c01
irq.c 14.6 KB