Re: [PATCH 5/7] gpio: ppc44x: Convert GPIO to generic MMIO
From: Christophe Leroy (CS GROUP)
Date: Thu Jul 30 2026 - 01:54:18 EST
Le 29/07/2026 à 20:32, Rosen Penev a écrit :
On Wed, Jul 29, 2026 at 3:55 AM Madhavan Srinivasan <maddy@xxxxxxxxxxxxx> wrote:
Yeah I have it fixed locally.
On 6/2/26 2:56 PM, Rosen Penev wrote:
On Tue Jun 2, 2026 at 12:51 AM PDT, Bartosz Golaszewski wrote:
On Tue, 2 Jun 2026 07:01:29 +0200, Rosen Penev <rosenp@xxxxxxxxx> said:Sure. btw, I avoided placing
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 <rosenp@xxxxxxxxx>
---
@@ -124,10 +102,11 @@ static intIf you're already doing it, can you use lock guards too?
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);
Do you have plan to address this comment in v2
You should probably put patch https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260517063754.21819-1-rosenp@xxxxxxxxx/ as first patch in this series in order to enable applying the fix to 6.18 without applying the entire series and to avoid any future conflict.
Christophe
I'm not sure if this has to do through the PPC or GPIO tree.
Maddy
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fall%2F20260517063754.21819-1-rosenp%40gmail.com%2F&data=05%7C02%7Cchristophe.leroy%40csgroup.eu%7C2ac0ec525c7045cd969508deed9fc7e0%7C8b87af7d86474dc78df45f69a2011bb5%7C0%7C0%7C639209467691381845%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=iqGebSy%2BbKMBFZz%2FZwZ9N2Jf8v63FkGPNhrdUf864fE%3D&reserved=0
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