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

"Christophe Leroy (CS GROUP)" <[email protected]> Thu, 30 Jul 2026 07:48:57 +0200
Newsgroups org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>

Le 29/07/2026 à 20:32, Rosen Penev a écrit :
> On Wed, Jul 29, 2026 at 3:55 AM Madhavan Srinivasan <[email protected]> wrote:
>>
>>
>> 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
> Yeah I have it fixed locally.

You should probably put patch 
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/[email protected]/ 
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
>>>