On Tue Jun 2, 2026 at 12:51 AM PDT, Bartosz Golaszewski wrote: > On Tue, 2 Jun 2026 07:01:29 +0200, Rosen Penev <[email protected]> said: >> Use gpio_generic_chip_init() to set up the PPC44x GPIO chip >> instead of open-coding the basic get, set, locking and state handling. >> >> Keep the PPC44x-specific direction callbacks because they still need to >> program ODR and the OSR/TSR registers around the generic data and >> direction registers. >> >> Assisted-by: Codex:GPT-5.5 >> Signed-off-by: Rosen Penev <[email protected]> >> --- > > ... > >> @@ -124,10 +102,11 @@ static int >> ppc4xx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val) >> { >> struct ppc4xx_gpio_chip *chip = gpiochip_get_data(gc); >> + struct gpio_generic_chip *gen_gc = &chip->chip; >> struct ppc4xx_gpio __iomem *regs = chip->regs; >> unsigned long flags; >> >> - spin_lock_irqsave(&chip->lock, flags); >> + gpio_generic_chip_lock_irqsave(gen_gc, flags); > > If you're already doing it, can you use lock guards too? Sure. btw, I avoided placing
https://lore.kernel.org/all/[email protected]/ in the beginning of the series. My thinking is that's for older kernels. I believe either the generic API or devm_gpiochip_add_data fixes this. > > Bart
