diff options
Diffstat (limited to 'include/asm-sh/hw_irq.h')
| -rw-r--r-- | include/asm-sh/hw_irq.h | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/include/asm-sh/hw_irq.h b/include/asm-sh/hw_irq.h index c958fdaa009..7438d1e21bc 100644 --- a/include/asm-sh/hw_irq.h +++ b/include/asm-sh/hw_irq.h @@ -79,6 +79,10 @@ struct intc_desc {  	struct intc_sense_reg *sense_regs;  	unsigned int nr_sense_regs;  	char *name; +#ifdef CONFIG_CPU_SH3 +	struct intc_mask_reg *ack_regs; +	unsigned int nr_ack_regs; +#endif  };  #define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a) @@ -91,10 +95,25 @@ struct intc_desc symbol __initdata = {					\  	chipname,							\  } +#ifdef CONFIG_CPU_SH3 +#define DECLARE_INTC_DESC_ACK(symbol, chipname, vectors, groups,	\ +	mask_regs, prio_regs, sense_regs, ack_regs)			\ +struct intc_desc symbol __initdata = {					\ +	_INTC_ARRAY(vectors), _INTC_ARRAY(groups),			\ +	_INTC_ARRAY(mask_regs), _INTC_ARRAY(prio_regs),			\ +	_INTC_ARRAY(sense_regs),					\ +	chipname,							\ +	_INTC_ARRAY(ack_regs),						\ +} +#endif +  void __init register_intc_controller(struct intc_desc *desc);  int intc_set_priority(unsigned int irq, unsigned int prio);  void __init plat_irq_setup(void); +#ifdef CONFIG_CPU_SH3 +void __init plat_irq_setup_sh3(void); +#endif  enum { IRQ_MODE_IRQ, IRQ_MODE_IRQ7654, IRQ_MODE_IRQ3210,         IRQ_MODE_IRL7654_MASK, IRQ_MODE_IRL3210_MASK,  |