Re: [PATCH 5/7] gpio: pl061: use cleanup helpers for locks

From: Andy Shevchenko

Date: Tue Oct 13 2026 - 03:12:30 EST


On Fri, Oct 09, 2026 at 06:57:58PM +0800, Long Zhao via B4 Relay wrote:

> Convert raw_spinlock critical sections to guard() from cleanup.h.

...

> {
> struct pl061 *pl061 = gpiochip_get_data(gc);
> - unsigned long flags;
>
> - raw_spin_lock_irqsave(&pl061->lock, flags);
> + guard(raw_spinlock_irqsave)(&pl061->lock);

+ blank line. I guess I already pointed out to this.

> regmap_clear_bits(pl061->regmap, GPIODIR, BIT(offset));
> - raw_spin_unlock_irqrestore(&pl061->lock, flags);
>
> return 0;
> }

...

> int value)
> {
> struct pl061 *pl061 = gpiochip_get_data(gc);
> - unsigned long flags;
> unsigned int mask = BIT(offset);
>
> - raw_spin_lock_irqsave(&pl061->lock, flags);
> + guard(raw_spinlock_irqsave)(&pl061->lock);

Ditto and so on...

> regmap_write(pl061->regmap, BIT(offset + PL061_DATA_OFFSET),
> !!value << offset);

...

> static int pl061_irq_type(struct irq_data *d, unsigned trigger)
> }
>
>

While at it, drop the redundant blank line here.

> - raw_spin_lock_irqsave(&pl061->lock, flags);
> + guard(raw_spinlock_irqsave)(&pl061->lock);
>
> regmap_read(pl061->regmap, GPIOIEV, &gpioiev);
> regmap_read(pl061->regmap, GPIOIS, &gpiois);

--
With Best Regards,
Andy Shevchenko