Re: [PATCHv3] gpio: virtio: remove one kcalloc
From: Rosen Penev
Date: Fri Mar 13 2026 - 02:31:59 EST
On Thu, Mar 12, 2026 at 11:09 PM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
>
> On 12-03-26, 12:37, Rosen Penev wrote:
> > A flexible array member can be used to combine allocations.
> >
> > Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
> > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> > ---
> > v3: add counting field for __counted_by.
> > v2: add space in struct
> > drivers/gpio/gpio-virtio.c | 14 +++++++-------
> > 1 file changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
> > index ed6e0e90fa8a..57d0eb532c3c 100644
> > --- a/drivers/gpio/gpio-virtio.c
> > +++ b/drivers/gpio/gpio-virtio.c
> > @@ -52,7 +52,6 @@ struct virtio_gpio {
> > struct virtio_device *vdev;
> > struct mutex lock; /* Protects virtqueue operation */
> > struct gpio_chip gc;
> > - struct virtio_gpio_line *lines;
> > struct virtqueue *request_vq;
> >
> > /* irq support */
> > @@ -60,6 +59,9 @@ struct virtio_gpio {
> > struct mutex irq_lock; /* Protects irq operation */
> > raw_spinlock_t eventq_lock; /* Protects queuing of the buffer */
> > struct vgpio_irq_line *irq_lines;
> > +
> > + u16 ngpio;
> > + struct virtio_gpio_line lines[] __counted_by(ngpio);
> > };
>
> I wonder if it is worth it anymore. Why combining allocations is better when we
> are ending up using more memory ?
No idea. That's what maintainers suggested for some unknown reason.
Anyway, I don't care if this gets merged anymore.
>
> --
> viresh