home *** CD-ROM | disk | FTP | other *** search
- #ifndef _H8300_IRQ_H_
- #define _H8300_IRQ_H_
-
- #include <asm/ptrace.h>
-
- #if defined(__H8300H__)
- #define NR_IRQS 64
- #define EXT_IRQ0 12
- #define EXT_IRQ1 13
- #define EXT_IRQ2 14
- #define EXT_IRQ3 15
- #define EXT_IRQ4 16
- #define EXT_IRQ5 17
- #define EXT_IRQ6 18
- #define EXT_IRQ7 19
- #define EXT_IRQS 5
-
- #include <asm/regs306x.h>
- #define h8300_clear_isr(irq) \
- do { \
- if (irq >= EXT_IRQ0 && irq <= EXT_IRQ5) \
- *(volatile unsigned char *)ISR &= ~(1 << (irq - EXT_IRQ0)); \
- } while(0)
-
- #define IER_REGS *(volatile unsigned char *)IER
- #endif
- #if defined(CONFIG_CPU_H8S)
- #define NR_IRQS 128
- #define EXT_IRQ0 16
- #define EXT_IRQ1 17
- #define EXT_IRQ2 18
- #define EXT_IRQ3 19
- #define EXT_IRQ4 20
- #define EXT_IRQ5 21
- #define EXT_IRQ6 22
- #define EXT_IRQ7 23
- #define EXT_IRQ8 24
- #define EXT_IRQ9 25
- #define EXT_IRQ10 26
- #define EXT_IRQ11 27
- #define EXT_IRQ12 28
- #define EXT_IRQ13 29
- #define EXT_IRQ14 30
- #define EXT_IRQ15 31
- #define EXT_IRQS 15
-
- #include <asm/regs267x.h>
- #define h8300_clear_isr(irq) \
- do { \
- if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15) \
- *(volatile unsigned short *)ISR &= ~(1 << (irq - EXT_IRQ0)); \
- } while(0)
-
- #define IER_REGS *(volatile unsigned short *)IER
- #endif
-
- static __inline__ int irq_canonicalize(int irq)
- {
- return irq;
- }
-
- extern void enable_irq(unsigned int);
- extern void disable_irq(unsigned int);
- #define disable_irq_nosync(x) disable_irq(x)
-
- struct irqaction;
- struct pt_regs;
- int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
- #endif /* _H8300_IRQ_H_ */
-