Re: [PATCH v3 06/22] pinctrl: core: Make pins const in struct group_desc

From: Andy Shevchenko
Date: Wed Nov 29 2023 - 09:23:30 EST


On Wed, Nov 29, 2023 at 03:41:55PM +0200, Andy Shevchenko wrote:
> On Wed, Nov 29, 2023 at 12:21:45PM +0100, Geert Uytterhoeven wrote:
> > On Tue, Nov 28, 2023 at 9:04 PM Andy Shevchenko
> > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > > It's unclear why it's not a const from day 1. Make the pins member
> > > const in struct group_desc. Update necessary APIs.

...

> > > int pinctrl_generic_add_group(struct pinctrl_dev *pctldev, const char *name,
> > > - int *gpins, int ngpins, void *data);
> > > + const int *pins, int num_pins, void *data);
> > >
> > > int pinctrl_generic_remove_group(struct pinctrl_dev *pctldev,
> > > unsigned int group_selector);
> >
> > Probably this is also the right moment to change all of these to arrays
> > of unsigned ints? Else you will have mixed int/unsigned int after
> > "[PATCH v3 13/22] pinctrl: core: Embed struct pingroup into struct
> > group_desc", and purely unsigned int after "[PATCH v3 22/22] pinctrl:
> > core: Remove unused members from struct group_desc".
>
> Hmm... Can it be done later?
>
> I can, of course try to change the parameter here to be unsigned, but it most
> likely fail the build for those drivers means need more patches, more delay to
> this series.
>
> Linus?

On the first glance updating API here does not fail the build.
Lemme incorporate this into v4.

Meanwhile the drivers I left untouched, it might be separate changes
to convert from int to const unsigned int.

--
With Best Regards,
Andy Shevchenko