| typedef unsigned char intc_enum; |
| #define INTC_VECT(enum_id, vect) { enum_id, vect } |
| #define INTC_GROUP(enum_id, ids...) { enum_id, { ids } } |
| unsigned long set_reg, clr_reg, reg_width; |
| unsigned long set_reg, clr_reg, reg_width, field_width; |
| #define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a) |
| struct intc_source *sources; |
| struct intc_mask_reg *mask_regs; |
| struct intc_prio_reg *prio_regs; |
| struct intc_source *sh_intc_source(struct intc_desc *desc, intc_enum id); |
| void sh_intc_register_sources(struct intc_desc *desc, |
| struct intc_vect *vectors, |
| struct intc_group *groups, |
| int sh_intc_init(struct intc_desc *desc, |
| struct intc_mask_reg *mask_regs, |
| struct intc_prio_reg *prio_regs, |
| #endif /* __SH_INTC_H__ */ |