#include <linux/irq.h>
#include <linux/io.h>
#include <linux/irqchip.h>
#include <linux/irqdomain.h>
#include <linux/cpu.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#define JCORE_AIC_MAX_HWIRQ …
#define JCORE_AIC1_MIN_HWIRQ …
#define JCORE_AIC2_MIN_HWIRQ …
#define JCORE_AIC1_INTPRI_REG …
static struct irq_chip jcore_aic;
static void handle_jcore_irq(struct irq_desc *desc)
{ … }
static int jcore_aic_irqdomain_map(struct irq_domain *d, unsigned int irq,
irq_hw_number_t hwirq)
{ … }
static const struct irq_domain_ops jcore_aic_irqdomain_ops = …;
static void noop(struct irq_data *data)
{ … }
static int __init aic_irq_of_init(struct device_node *node,
struct device_node *parent)
{ … }
IRQCHIP_DECLARE(jcore_aic2, "jcore,aic2", aic_irq_of_init);
IRQCHIP_DECLARE(jcore_aic1, "jcore,aic1", aic_irq_of_init);