X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-ppc64%2Firq.h;h=570678b1da950335f1821485745381f470af62ee;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=9c491814dbb5b76719458462c478e2abae3a1b04;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/include/asm-ppc64/irq.h b/include/asm-ppc64/irq.h index 9c491814d..570678b1d 100644 --- a/include/asm-ppc64/irq.h +++ b/include/asm-ppc64/irq.h @@ -17,13 +17,22 @@ */ #define NR_IRQS 512 -extern void disable_irq(unsigned int); -extern void disable_irq_nosync(unsigned int); -extern void enable_irq(unsigned int); - /* this number is used when no interrupt has been assigned */ #define NO_IRQ (-1) +/* + * These constants are used for passing information about interrupt + * signal polarity and level/edge sensing to the low-level PIC chip + * drivers. + */ +#define IRQ_SENSE_MASK 0x1 +#define IRQ_SENSE_LEVEL 0x1 /* interrupt on active level */ +#define IRQ_SENSE_EDGE 0x0 /* interrupt triggered by edge */ + +#define IRQ_POLARITY_MASK 0x2 +#define IRQ_POLARITY_POSITIVE 0x2 /* high level or low->high edge */ +#define IRQ_POLARITY_NEGATIVE 0x0 /* low level or high->low edge */ + #define get_irq_desc(irq) (&irq_desc[(irq)]) /* Define a way to iterate across irqs. */ @@ -78,9 +87,10 @@ static __inline__ int irq_canonicalize(int irq) return irq; } +extern int distribute_irqs; + struct irqaction; struct pt_regs; -int handle_irq_event(int, struct pt_regs *, struct irqaction *); #ifdef CONFIG_IRQSTACKS /* @@ -91,7 +101,7 @@ extern struct thread_info *softirq_ctx[NR_CPUS]; extern void irq_ctx_init(void); extern void call_do_softirq(struct thread_info *tp); -extern int call_handle_irq_event(int irq, struct pt_regs *regs, +extern int call_handle_IRQ_event(int irq, struct pt_regs *regs, struct irqaction *action, struct thread_info *tp); #define __ARCH_HAS_DO_SOFTIRQ