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