Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef __ASM_SH_HW_IRQ_H |
2 | #define __ASM_SH_HW_IRQ_H | |
3 | ||
02ab3f70 | 4 | #include <linux/init.h> |
bbfbd8b1 | 5 | #include <linux/sh_intc.h> |
35f3c518 PM |
6 | #include <asm/atomic.h> |
7 | ||
8 | extern atomic_t irq_err_count; | |
9 | ||
68abdbbb MD |
10 | struct ipr_data { |
11 | unsigned char irq; | |
12 | unsigned char ipr_idx; /* Index for the IPR registered */ | |
13 | unsigned char shift; /* Number of bits to shift the data */ | |
14 | unsigned char priority; /* The priority */ | |
15 | }; | |
16 | ||
17 | struct ipr_desc { | |
18 | unsigned long *ipr_offsets; | |
19 | unsigned int nr_offsets; | |
20 | struct ipr_data *ipr_data; | |
21 | unsigned int nr_irqs; | |
22 | struct irq_chip chip; | |
23 | }; | |
24 | ||
25 | void register_ipr_controller(struct ipr_desc *); | |
68abdbbb | 26 | |
90015c89 | 27 | void __init plat_irq_setup(void); |
a276e588 | 28 | void __init plat_irq_setup_sh3(void); |
bbfbd8b1 | 29 | void __init plat_irq_setup_pins(int mode); |
90015c89 | 30 | |
a0e23267 | 31 | enum { IRQ_MODE_IRQ, IRQ_MODE_IRQ7654, IRQ_MODE_IRQ3210, |
953c8ef2 | 32 | IRQ_MODE_IRL7654_MASK, IRQ_MODE_IRL3210_MASK, |
a0e23267 | 33 | IRQ_MODE_IRL7654, IRQ_MODE_IRL3210 }; |
39c7aa9e | 34 | |
1da177e4 | 35 | #endif /* __ASM_SH_HW_IRQ_H */ |