Re: [PATCH v5 05/15] irqchip/renesas-rzg2l: Split EOI handler into separate IRQ and TINT functions

From: Thomas Gleixner

Date: Fri Mar 20 2026 - 04:46:46 EST


On Wed, Mar 11 2026 at 19:24, Biju wrote:
> -static void rzg2l_irqc_eoi(struct irq_data *d)
> +static void rzg2l_irqc_irq_eoi(struct irq_data *d)
> {
> struct rzg2l_irqc_priv *priv = irq_data_to_priv(d);
> unsigned int hw_irq = irqd_to_hwirq(d);
>
> raw_spin_lock(&priv->lock);
> - if (hw_irq >= IRQC_IRQ_START && hw_irq <= IRQC_IRQ_COUNT)
> - rzg2l_clear_irq_int(priv, hw_irq);
> - else if (hw_irq >= IRQC_TINT_START && hw_irq < IRQC_NUM_IRQ)
> - rzg2l_clear_tint_int(priv, hw_irq);
> + rzg2l_clear_irq_int(priv, hw_irq);
> + raw_spin_unlock(&priv->lock);
> + irq_chip_eoi_parent(d);

Please convert the locking to use guards while you are changing these
functions. So this one becomes:

scoped_guard(raw_spin_lock, &priv->lock))
rzg2l_clear_irq_int(priv, hw_irq);

irq_chip_eoi_parent(d);

See?

Thanks,

tglx