Re: [PATCH v4 05/15] pinctrl: add a pincontrol driver for BCM6328

From: Andy Shevchenko
Date: Thu Mar 04 2021 - 10:38:43 EST


On Thu, Mar 4, 2021 at 5:33 PM Álvaro Fernández Rojas <noltari@xxxxxxxxx> wrote:
> > El 4 mar 2021, a las 16:25, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> escribió:
> > On Thu, Mar 4, 2021 at 2:25 PM Álvaro Fernández Rojas <noltari@xxxxxxxxx> wrote:
> >>> El 4 mar 2021, a las 13:12, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> escribió:
> >>> On Thu, Mar 4, 2021 at 1:13 PM Álvaro Fernández Rojas <noltari@xxxxxxxxx> wrote:
> >>>>> El 4 mar 2021, a las 11:49, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> escribió:
> >>>>> On Thu, Mar 4, 2021 at 10:57 AM Álvaro Fernández Rojas
> >>>>> <noltari@xxxxxxxxx> wrote:
> >
> > ...
> >
> >>>>>> + BCM6328_MUX_LO_REG,
> >>>>>> + BCM6328_MUX_HI_REG,
> >>>>>
> >>>>>> + BCM6328_MUX_OTHER_REG
> >>>>>
> >>>>> When it's not terminator add a comma, otherwise remove a comma.
> >>>
> >>>> … so you want me to add a comma or not?
> >>>
> >>> Hmm... you tell me! If this is a list which covers all possible cases
> >>> _and_ the last one is the kinda maximum value (aka terminator), then
> >>> comma is not needed, otherwise add it (to me feels like the latter
> >>> should be done here).
> >>
> >> Well… Then it shouldn’t be needed, since this is a list which covers all possible cases and the last one is a terminator.
> >
> > Honestly the name suggests otherwise. And looking into the code there
> > is no guarantee you won't split that _OTHER_ area to something with
> > new compatible hardware.
>
> Every BCM63XX device has its own specific pin controllers.
> It seems that on every new SoC created by Broadcom they decided that the previous pin controller approach was a bad decision or something xD.
> Therefore I don’t think there will be such “new compatible hardware”...
>
> > Renaming to BCM6328_MUX_MAX_REG will clear that this is terminator,
> > but it means its value shouldn't be used except as to understand the
> > amount of supported registers of this enumerator.
>
> No, I don’t think this is a good idea.
> Please, take a look at:
> https://github.com/jameshilliard/gfiber-gflt100/blob/b292e8c271addbda62104bece90e3c8018714194/shared/opensource/include/bcm963xx/6328_map_part.h#L410-L441
> As you can see, BCM6328_MUX_LO_REG and BCM6328_MUX_HI_REG are used for specific GPIOs, but BCM6328_MUX_OTHER_REG is used for pins which lack a direct GPIO assignment.

Understood. Thanks for elaboration. Go ahead with current approach, thanks!

--
With Best Regards,
Andy Shevchenko