1#ifndef _H8300_IRQ_H_ 2#define _H8300_IRQ_H_ 3 4#include <asm/ptrace.h> 5 6#if defined(__H8300H__) 7#define NR_IRQS 64 8#define EXT_IRQ0 12 9#define EXT_IRQ1 13 10#define EXT_IRQ2 14 11#define EXT_IRQ3 15 12#define EXT_IRQ4 16 13#define EXT_IRQ5 17 14#define EXT_IRQ6 18 15#define EXT_IRQ7 19 16#define EXT_IRQS 5 17 18#include <asm/regs306x.h> 19#define h8300_clear_isr(irq) \ 20do { \ 21 if (irq >= EXT_IRQ0 && irq <= EXT_IRQ5) \ 22 *(volatile unsigned char *)ISR &= ~(1 << (irq - EXT_IRQ0)); \ 23} while(0) 24 25#define IER_REGS *(volatile unsigned char *)IER 26#endif 27#if defined(CONFIG_CPU_H8S) 28#define NR_IRQS 128 29#define EXT_IRQ0 16 30#define EXT_IRQ1 17 31#define EXT_IRQ2 18 32#define EXT_IRQ3 19 33#define EXT_IRQ4 20 34#define EXT_IRQ5 21 35#define EXT_IRQ6 22 36#define EXT_IRQ7 23 37#define EXT_IRQ8 24 38#define EXT_IRQ9 25 39#define EXT_IRQ10 26 40#define EXT_IRQ11 27 41#define EXT_IRQ12 28 42#define EXT_IRQ13 29 43#define EXT_IRQ14 30 44#define EXT_IRQ15 31 45#define EXT_IRQS 15 46 47#include <asm/regs267x.h> 48#define h8300_clear_isr(irq) \ 49do { \ 50 if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15) \ 51 *(volatile unsigned short *)ISR &= ~(1 << (irq - EXT_IRQ0)); \ 52} while(0) 53 54#define IER_REGS *(volatile unsigned short *)IER 55#endif 56 57static __inline__ int irq_canonicalize(int irq) 58{ 59 return irq; 60} 61 62extern void enable_irq(unsigned int); 63extern void disable_irq(unsigned int); 64 65#endif /* _H8300_IRQ_H_ */ 66