aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sh/hw_irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sh/hw_irq.h')
-rw-r--r--include/asm-sh/hw_irq.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/include/asm-sh/hw_irq.h b/include/asm-sh/hw_irq.h
index 80ee1cda7498..4ca3f765bacc 100644
--- a/include/asm-sh/hw_irq.h
+++ b/include/asm-sh/hw_irq.h
@@ -5,4 +5,46 @@
5 5
6extern atomic_t irq_err_count; 6extern atomic_t irq_err_count;
7 7
8struct intc2_data {
9 unsigned short irq;
10 unsigned char ipr_offset, ipr_shift;
11 unsigned char msk_offset, msk_shift;
12 unsigned char priority;
13};
14
15struct intc2_desc {
16 unsigned long prio_base;
17 unsigned long msk_base;
18 unsigned long mskclr_base;
19 struct intc2_data *intc2_data;
20 unsigned int nr_irqs;
21 struct irq_chip chip;
22};
23
24void register_intc2_controller(struct intc2_desc *);
25void init_IRQ_intc2(void);
26
27struct ipr_data {
28 unsigned char irq;
29 unsigned char ipr_idx; /* Index for the IPR registered */
30 unsigned char shift; /* Number of bits to shift the data */
31 unsigned char priority; /* The priority */
32};
33
34struct ipr_desc {
35 unsigned long *ipr_offsets;
36 unsigned int nr_offsets;
37 struct ipr_data *ipr_data;
38 unsigned int nr_irqs;
39 struct irq_chip chip;
40};
41
42void register_ipr_controller(struct ipr_desc *);
43void init_IRQ_ipr(void);
44
45/*
46 * Enable individual interrupt mode for external IPR IRQs.
47 */
48void ipr_irq_enable_irlm(void);
49
8#endif /* __ASM_SH_HW_IRQ_H */ 50#endif /* __ASM_SH_HW_IRQ_H */