Message ID | 20240903064252.49530-1-varshini.rajendran@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for sam9x7 SoC family | expand |
On 03/09/2024 at 08:42, Varshini Rajendran wrote: > From: Hari Prasath <Hari.PrasathGE@microchip.com> > > Add support for the Advanced interrupt controller(AIC) chip in the sam9x7. > > Signed-off-by: Hari Prasath <Hari.PrasathGE@microchip.com> > Signed-off-by: Varshini Rajendran <varshini.rajendran@microchip.com> After several investigations to make this "smarter" (see on previous versions posts), we figured out this historic way of handling NR_XXX_IRQ is the best/simplest one. Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Best regards, Nicolas > --- > Changes in v7: > > - Removed the line break in the function. > --- > drivers/irqchip/irq-atmel-aic5.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c > index 145535bd7560..f9168efa4160 100644 > --- a/drivers/irqchip/irq-atmel-aic5.c > +++ b/drivers/irqchip/irq-atmel-aic5.c > @@ -320,6 +320,7 @@ static const struct of_device_id aic5_irq_fixups[] __initconst = { > { .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup }, > { .compatible = "atmel,sama5d4", .data = sama5d3_aic_irq_fixup }, > { .compatible = "microchip,sam9x60", .data = sam9x60_aic_irq_fixup }, > + { .compatible = "microchip,sam9x7", .data = sam9x60_aic_irq_fixup }, > { /* sentinel */ }, > }; > > @@ -406,3 +407,11 @@ static int __init sam9x60_aic5_of_init(struct device_node *node, > return aic5_of_init(node, parent, NR_SAM9X60_IRQS); > } > IRQCHIP_DECLARE(sam9x60_aic5, "microchip,sam9x60-aic", sam9x60_aic5_of_init); > + > +#define NR_SAM9X7_IRQS 70 > + > +static int __init sam9x7_aic5_of_init(struct device_node *node, struct device_node *parent) > +{ > + return aic5_of_init(node, parent, NR_SAM9X7_IRQS); > +} > +IRQCHIP_DECLARE(sam9x7_aic5, "microchip,sam9x7-aic", sam9x7_aic5_of_init);
diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c index 145535bd7560..f9168efa4160 100644 --- a/drivers/irqchip/irq-atmel-aic5.c +++ b/drivers/irqchip/irq-atmel-aic5.c @@ -320,6 +320,7 @@ static const struct of_device_id aic5_irq_fixups[] __initconst = { { .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup }, { .compatible = "atmel,sama5d4", .data = sama5d3_aic_irq_fixup }, { .compatible = "microchip,sam9x60", .data = sam9x60_aic_irq_fixup }, + { .compatible = "microchip,sam9x7", .data = sam9x60_aic_irq_fixup }, { /* sentinel */ }, }; @@ -406,3 +407,11 @@ static int __init sam9x60_aic5_of_init(struct device_node *node, return aic5_of_init(node, parent, NR_SAM9X60_IRQS); } IRQCHIP_DECLARE(sam9x60_aic5, "microchip,sam9x60-aic", sam9x60_aic5_of_init); + +#define NR_SAM9X7_IRQS 70 + +static int __init sam9x7_aic5_of_init(struct device_node *node, struct device_node *parent) +{ + return aic5_of_init(node, parent, NR_SAM9X7_IRQS); +} +IRQCHIP_DECLARE(sam9x7_aic5, "microchip,sam9x7-aic", sam9x7_aic5_of_init);