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

From: Álvaro Fernández Rojas
Date: Thu Mar 04 2021 - 10:35:16 EST


Hi Andy,

> 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.

>
>
> --
> With Best Regards,
> Andy Shevchenko

Best regards,
Álvaro.