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

From: Thomas Gleixner
Date: Mon Feb 19 2024 - 09:22:49 EST


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