RE: [PATCH v5 05/15] irqchip/renesas-rzg2l: Split EOI handler into separate IRQ and TINT functions
From: Biju Das
Date: Fri Mar 20 2026 - 11:51:20 EST
Hi Thomas,
Thanks for the feedback.
> -----Original Message-----
> From: Thomas Gleixner <tglx@xxxxxxxxxx>
> Sent: 20 March 2026 08:43
> Subject: Re: [PATCH v5 05/15] irqchip/renesas-rzg2l: Split EOI handler into separate IRQ and TINT
> functions
>
> 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?
OK, will fix this in next version
Cheers,
Biju