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

Geert Uytterhoeven
2023-11-29T11:22:01Z

Hi Andy,

On Tue, Nov 28, 2023 at 9:04 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> 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.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Thanks for your patch!

> --- a/drivers/pinctrl/core.c
> +++ b/drivers/pinctrl/core.c
> @@ -642,7 +642,7 @@ static int pinctrl_generic_group_name_to_selector(struct pinctrl_dev *pctldev,
> * Note that the caller must take care of locking.
> */
> int pinctrl_generic_add_group(struct pinctrl_dev *pctldev, const char *name,
> - int *pins, int num_pins, void *data)
> + const int *pins, int num_pins, void *data)
> {
> struct group_desc *group;
> int selector, error;
> diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
> index 530370443c19..01ea1ce99fe8 100644
> --- a/drivers/pinctrl/core.h
> +++ b/drivers/pinctrl/core.h
> @@ -203,7 +203,7 @@ struct pinctrl_maps {
> */
> struct group_desc {
> const char *name;
> - int *pins;
> + const int *pins;
> int num_pins;
> void *data;
> };
> @@ -222,7 +222,7 @@ struct group_desc *pinctrl_generic_get_group(struct pinctrl_dev *pctldev,
> unsigned int group_selector);
>
> 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".

The Renesas pinctrl drivers already pass arrays of unsigned ints.
Some other drivers still use arrays of ints, though.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds