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

Madhavan Srinivasan <[email protected]> Wed, 29 Jul 2026 16:25:23 +0530
Newsgroups org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>
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 <[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

Do you have plan to address this comment in v2

Maddy
>
> 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
>