Re: [PATCH] irqchip/atmel-aic5: add support for sam9x60 irqchip

From: Alexandre Belloni
Date: Tue Sep 10 2019 - 11:15:20 EST


On 09/09/2019 14:00:35+0300, Claudiu Beznea wrote:
> From: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@xxxxxxxxxxxxx>
>
> Add support for SAM9X60 irqchip.
>
> Signed-off-by: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@xxxxxxxxxxxxx>
> [claudiu.beznea@xxxxxxxxxxxxx: update aic5_irq_fixups[], update
> documentation]
> Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>

> ---
> .../devicetree/bindings/interrupt-controller/atmel,aic.txt | 7 +++++--
> drivers/irqchip/irq-atmel-aic5.c | 10 ++++++++++
> 2 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt
> index f4c5d34c4111..7079d44bf3ba 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt
> +++ b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt
> @@ -1,8 +1,11 @@
> * Advanced Interrupt Controller (AIC)
>
> Required properties:
> -- compatible: Should be "atmel,<chip>-aic"
> - <chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"
> +- compatible: Should be:
> + - "atmel,<chip>-aic" where <chip> can be "at91rm9200", "sama5d2",
> + "sama5d3" or "sama5d4"
> + - "microchip,<chip>-aic" where <chip> can be "sam9x60"
> +
> - interrupt-controller: Identifies the node as an interrupt controller.
> - #interrupt-cells: The number of cells to define the interrupts. It should be 3.
> The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
> diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c
> index 6acad2ea0fb3..29333497ba10 100644
> --- a/drivers/irqchip/irq-atmel-aic5.c
> +++ b/drivers/irqchip/irq-atmel-aic5.c
> @@ -313,6 +313,7 @@ static void __init sama5d3_aic_irq_fixup(void)
> 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 = sama5d3_aic_irq_fixup },
> { /* sentinel */ },
> };
>
> @@ -390,3 +391,12 @@ static int __init sama5d4_aic5_of_init(struct device_node *node,
> return aic5_of_init(node, parent, NR_SAMA5D4_IRQS);
> }
> IRQCHIP_DECLARE(sama5d4_aic5, "atmel,sama5d4-aic", sama5d4_aic5_of_init);
> +
> +#define NR_SAM9X60_IRQS 50
> +
> +static int __init sam9x60_aic5_of_init(struct device_node *node,
> + struct device_node *parent)
> +{
> + return aic5_of_init(node, parent, NR_SAM9X60_IRQS);
> +}
> +IRQCHIP_DECLARE(sam9x60_aic5, "microchip,sam9x60-aic", sam9x60_aic5_of_init);
> --
> 2.7.4
>

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com