431d2cd99f
As reminded in http://lkml.org/lkml/2006/12/23/26, one should use asm/hardware.h and asm/irq.h but absent-minded devs like me tends to use asm/arch/hardware.h and/or asm/arch/irqs.h. This patch aims at preventing such things. In order to make it work, I had to modify asm-arm/irq.h too so that it can be included from assembly files. Also, as a side effect, I had to modify some headers who were using the asm/arch/hardware.h or asm/arch/irqs.h. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
45 lines
860 B
C
45 lines
860 B
C
#ifndef __ASM_ARM_IRQ_H
|
|
#define __ASM_ARM_IRQ_H
|
|
|
|
#include <asm/arch/irqs.h>
|
|
|
|
#ifndef irq_canonicalize
|
|
#define irq_canonicalize(i) (i)
|
|
#endif
|
|
|
|
#ifndef NR_IRQS
|
|
#define NR_IRQS 128
|
|
#endif
|
|
|
|
/*
|
|
* Use this value to indicate lack of interrupt
|
|
* capability
|
|
*/
|
|
#ifndef NO_IRQ
|
|
#define NO_IRQ ((unsigned int)(-1))
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Migration helpers
|
|
*/
|
|
#define __IRQT_FALEDGE IRQ_TYPE_EDGE_FALLING
|
|
#define __IRQT_RISEDGE IRQ_TYPE_EDGE_RISING
|
|
#define __IRQT_LOWLVL IRQ_TYPE_LEVEL_LOW
|
|
#define __IRQT_HIGHLVL IRQ_TYPE_LEVEL_HIGH
|
|
|
|
#define IRQT_NOEDGE (0)
|
|
#define IRQT_RISING (__IRQT_RISEDGE)
|
|
#define IRQT_FALLING (__IRQT_FALEDGE)
|
|
#define IRQT_BOTHEDGE (__IRQT_RISEDGE|__IRQT_FALEDGE)
|
|
#define IRQT_LOW (__IRQT_LOWLVL)
|
|
#define IRQT_HIGH (__IRQT_HIGHLVL)
|
|
#define IRQT_PROBE IRQ_TYPE_PROBE
|
|
|
|
#ifndef __ASSEMBLY__
|
|
struct irqaction;
|
|
extern void migrate_irqs(void);
|
|
#endif
|
|
|
|
#endif
|
|
|