2022-08-29 13:51:32

by Martyn Welch

[permalink] [raw]
Subject: [PATCH 2/5] dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q

The NXP PCAL6534 is a 34-bit I2C I/O expander similar to the PCAL6524. The
Diodes PI4IOE5V6534Q is a functionally identical chip provided by Diodes
Inc.

Signed-off-by: Martyn Welch <[email protected]>
---
Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml b/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
index 977b14db09b0..b8106348e025 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
+++ b/Documentation/devicetree/bindings/gpio/gpio-pca95xx.yaml
@@ -16,6 +16,7 @@ description: |+
properties:
compatible:
enum:
+ - diodes,pi4ioe5v6534q
- exar,xra1202
- maxim,max7310
- maxim,max7312
@@ -49,6 +50,7 @@ properties:
- nxp,pca9698
- nxp,pcal6416
- nxp,pcal6524
+ - nxp,pcal6534
- nxp,pcal9535
- nxp,pcal9554b
- nxp,pcal9555a
--
2.35.1


2022-08-30 08:07:07

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/5] dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q

On 29/08/2022 16:39, Martyn Welch wrote:
> The NXP PCAL6534 is a 34-bit I2C I/O expander similar to the PCAL6524. The
> Diodes PI4IOE5V6534Q is a functionally identical chip provided by Diodes
> Inc.
>
> Signed-off-by: Martyn Welch <[email protected]>

Then diodes should be followed by fallback (and use only one compatible
to bind).

Best regards,
Krzysztof

2022-08-31 13:39:29

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/5] dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q

On 31/08/2022 16:26, Linus Walleij wrote:
> On Tue, Aug 30, 2022 at 9:50 AM Krzysztof Kozlowski
> <[email protected]> wrote:
>> On 29/08/2022 16:39, Martyn Welch wrote:
>>> The NXP PCAL6534 is a 34-bit I2C I/O expander similar to the PCAL6524. The
>>> Diodes PI4IOE5V6534Q is a functionally identical chip provided by Diodes
>>> Inc.
>>>
>>> Signed-off-by: Martyn Welch <[email protected]>
>>
>> Then diodes should be followed by fallback (and use only one compatible
>> to bind).
>
> Ugh I don't think we have done a very good job at providing fallbacks
> (several compatibles) for this hardware. Just looking at the list makes
> me suspicious.
>
> The fallback scheme is pretty hard to maintain when vendors are a bit
> unclear on whether things are really compatible or not, and sometimes
> they are compatible but rather not say :(

If you have specific+fallback compatible (e.g. diodes,pi4ioe5v6534q,
nxp,pcal6534), you can always introduce changes in the driver because it
will match to the specific one (diodes). You could even introduce
incompatible changes, if you insist, and the effect would be the same as
adding now two compatibles in the driver.

In the same time having fallback saves you useless entries in the driver
like:
{ .compatible = "nxp,pca9556", .data = OF_953X( 8, 0), }
{ .compatible = "nxp,pca9557", .data = OF_953X( 8, 0), }

I mean, really, this will grow. I was not CC-ed on the driver change -
for some reason only on some pieces of patchset - so difficult to say
how it looks here, but judging by description ("identical chip") it is
exactly the same as above.

I don't insist on it, but for most of other pieces of complex devices
(SoC IP blocks) we follow such approach.

Best regards,
Krzysztof

2022-08-31 14:27:59

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 2/5] dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q

On Tue, Aug 30, 2022 at 9:50 AM Krzysztof Kozlowski
<[email protected]> wrote:
> On 29/08/2022 16:39, Martyn Welch wrote:
> > The NXP PCAL6534 is a 34-bit I2C I/O expander similar to the PCAL6524. The
> > Diodes PI4IOE5V6534Q is a functionally identical chip provided by Diodes
> > Inc.
> >
> > Signed-off-by: Martyn Welch <[email protected]>
>
> Then diodes should be followed by fallback (and use only one compatible
> to bind).

Ugh I don't think we have done a very good job at providing fallbacks
(several compatibles) for this hardware. Just looking at the list makes
me suspicious.

The fallback scheme is pretty hard to maintain when vendors are a bit
unclear on whether things are really compatible or not, and sometimes
they are compatible but rather not say :(

Yours,
Linus Walleij

2022-09-08 12:10:47

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 2/5] dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q

On Wed, Aug 31, 2022 at 3:34 PM Krzysztof Kozlowski
<[email protected]> wrote:

> If you have specific+fallback compatible (e.g. diodes,pi4ioe5v6534q,
> nxp,pcal6534), you can always introduce changes in the driver because it
> will match to the specific one (diodes). You could even introduce
> incompatible changes, if you insist, and the effect would be the same as
> adding now two compatibles in the driver.

I know, what I mean is that this binding should probably have fallback
compatibles for the TI, Exar, Onnn and Maxim compatibles listed in
the bindings, I bet they are all compatible with some nxp,pcaNNNN.

We could fix that, perhaps.

Yours,
Linus Walleij