[v3,42/50] irqchip/atmel-aic5: Add support for sam9x7 aic

Message ID 20230728103002.267440-1-varshini.rajendran@microchip.com
State New
Headers
Series [v3,01/50] dt-bindings: microchip: atmel,at91rm9200-tcb: add sam9x60, sam9x7 compatible |

Commit Message

Varshini Rajendran July 28, 2023, 10:30 a.m. UTC
  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>
---
 drivers/irqchip/irq-atmel-aic5.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
  

Comments

Marc Zyngier July 28, 2023, 10:37 a.m. UTC | #1
On 2023-07-28 11:30, 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>
> ---
>  drivers/irqchip/irq-atmel-aic5.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/irqchip/irq-atmel-aic5.c 
> b/drivers/irqchip/irq-atmel-aic5.c
> index 145535bd7560..bab11900f3ef 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,12 @@ 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

One can only wonder why this stuff doesn't come from the device tree,
given that there is no other meaningful difference between this
version of the IP and the previous ones...

         M.

> +
> +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);
  

Patch

diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c
index 145535bd7560..bab11900f3ef 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,12 @@  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);