#include <linux/irqchip.h>
#include <linux/irqdomain.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#define JCORE_AIC_MAX_HWIRQ 127
#define JCORE_AIC1_MIN_HWIRQ 16
#define JCORE_AIC2_MIN_HWIRQ 64
#define JCORE_AIC1_INTPRI_REG 8
static struct irq_chip jcore_aic;
static void handle_jcore_irq(struct irq_desc *desc)
if (irqd_is_per_cpu(irq_desc_get_irq_data(desc)))
static int jcore_aic_irqdomain_map(struct irq_domain *d, unsigned int irq,
struct irq_chip *aic = d->host_data;
irq_set_chip_and_handler(irq, aic, handle_jcore_irq);
static const struct irq_domain_ops jcore_aic_irqdomain_ops = {
.map = jcore_aic_irqdomain_map,
.xlate = irq_domain_xlate_onecell,
static void noop(struct irq_data *data)