hw_irq.h (915B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ASM_SH_HW_IRQ_H 3#define __ASM_SH_HW_IRQ_H 4 5#include <linux/init.h> 6#include <linux/sh_intc.h> 7#include <linux/atomic.h> 8 9extern atomic_t irq_err_count; 10 11struct ipr_data { 12 unsigned char irq; 13 unsigned char ipr_idx; /* Index for the IPR registered */ 14 unsigned char shift; /* Number of bits to shift the data */ 15 unsigned char priority; /* The priority */ 16}; 17 18struct ipr_desc { 19 unsigned long *ipr_offsets; 20 unsigned int nr_offsets; 21 struct ipr_data *ipr_data; 22 unsigned int nr_irqs; 23 struct irq_chip chip; 24}; 25 26void register_ipr_controller(struct ipr_desc *); 27 28void __init plat_irq_setup(void); 29void __init plat_irq_setup_sh3(void); 30void __init plat_irq_setup_pins(int mode); 31 32enum { IRQ_MODE_IRQ, IRQ_MODE_IRQ7654, IRQ_MODE_IRQ3210, 33 IRQ_MODE_IRL7654_MASK, IRQ_MODE_IRL3210_MASK, 34 IRQ_MODE_IRL7654, IRQ_MODE_IRL3210 }; 35 36#endif /* __ASM_SH_HW_IRQ_H */