[PATCH RESEND 09/14] gpio: dwapb: use new generic GPIO chip API

Bartosz Golaszewski brgl at bgdev.pl
Wed Sep 3 09:16:12 PDT 2025


On Wed, Sep 3, 2025 at 5:51 PM Andy Shevchenko
<andriy.shevchenko at intel.com> wrote:
>
> On Mon, Aug 25, 2025 at 11:48:50AM +0200, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski at linaro.org>
> >
> > Convert the driver to using the new generic GPIO chip interfaces from
> > linux/gpio/generic.h.
>
> ...
>
> > +static inline struct dwapb_gpio *to_dwapb_gpio(struct gpio_chip *gc)
> > +{
> > +     return container_of(to_gpio_generic_chip(gc),
> > +                         struct dwapb_gpio_port, chip)->gpio;
> > +}
>
> Since it's not a macro anymore it can be done better:
>
>         struct dwapb_gpio_port *port;
>
>         port = container_of(to_gpio_generic_chip(gc), struct dwapb_gpio_port, chip);
>         return port->gpio;
>

Sure. I already applied it so can you send a follow-up?

> Also, have you checked the bloat-o-meter before and after, wondering if we gain
> something with this.
>

Not yet we don't but we will move the gpio-mmio-specific fields out of
struct gpio_chip so we'll gain several fields worth of memory per
non-generic chip system-wide.

Bart



More information about the linux-arm-kernel mailing list