[PATCH 03/12] irqchip/stm32-exti: Map interrupts through interrupt nexus node

Thomas Gleixner tglx at linutronix.de
Mon Feb 19 06:22:34 PST 2024


On Fri, Feb 16 2024 at 10:47, Antonio Borneo wrote:
> diff --git a/drivers/irqchip/irq-stm32-exti.c b/drivers/irqchip/irq-stm32-exti.c
> index 69982f21126a..95bb3dd10b2c 100644
> --- a/drivers/irqchip/irq-stm32-exti.c
> +++ b/drivers/irqchip/irq-stm32-exti.c
> @@ -61,6 +61,7 @@ struct stm32_exti_host_data {
>  	struct stm32_exti_chip_data *chips_data;
>  	const struct stm32_exti_drv_data *drv_data;
>  	struct hwspinlock *hwlock;
> +	struct device_node *irq_map_node;

Please keep variable declarations ordered in reverse fir tree layout:

https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#variable-declarations

>  };
>  
>  static struct stm32_exti_host_data *stm32_host_data;
> @@ -713,8 +714,9 @@ static int stm32_exti_h_domain_alloc(struct irq_domain *dm,
>  	u8 desc_irq;
>  	struct irq_fwspec *fwspec = data;
>  	struct irq_fwspec p_fwspec;
> +	struct of_phandle_args out_irq;

Please move this into the condition path where it is actually used.

>  	irq_hw_number_t hwirq;
> -	int bank;
> +	int bank, ret;
>  	u32 event_trg;
>  	struct irq_chip *chip;
>  
> @@ -731,6 +733,25 @@ static int stm32_exti_h_domain_alloc(struct irq_domain *dm,
>  
>  	irq_domain_set_hwirq_and_chip(dm, virq, hwirq, chip, chip_data);
>  
> +	if (host_data->irq_map_node) {
> +		out_irq.np = host_data->irq_map_node;

Thanks,

        tglx



More information about the linux-arm-kernel mailing list