Thread (13 messages) 13 messages, 3 authors, 4d ago

Re: [PATCH 5/7] gpio: ppc44x: Convert GPIO to generic MMIO

From: Rosen Penev <hidden>
Date: 2026-06-02 09:26:55
Also in: linux-gpio, lkml

On Tue Jun 2, 2026 at 12:51 AM PDT, Bartosz Golaszewski wrote:
On Tue, 2 Jun 2026 07:01:29 +0200, Rosen Penev [off-list ref] said:
quoted
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 <redacted>
---
...
quoted
@@ -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/20260517063754.21819-1-rosenp@gmail.com/ (local)

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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help