Re: [PATCH v5 3/3] dt-bindings: cros-ec: Add ChromeOS fingerprint binding

From: Stephen Boyd
Date: Mon May 16 2022 - 15:23:08 EST


Quoting Rob Herring (2022-05-16 08:20:03)
> On Wed, May 11, 2022 at 06:39:21PM -0700, Stephen Boyd wrote:
> > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > index 409ecef967ce..e5fe60beb9fe 100644
> > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > @@ -19,15 +19,19 @@ description:
> > properties:
> > compatible:
> > oneOf:
> > - - description:
> > - For implementations of the EC is connected through I2C.
> > - const: google,cros-ec-i2c
> > - - description:
> > - For implementations of the EC is connected through SPI.
> > - const: google,cros-ec-spi
> > - - description:
> > - For implementations of the EC is connected through RPMSG.
> > - const: google,cros-ec-rpmsg
> > + # For implementations of the EC is connected through I2C.
>
> Using 'description' was preferred.

I just learned that I should use anyOf instead of oneOf. Confusing!

>
> > + - items:
> > + - const: google,cros-ec-i2c
> > + # For implementations of the FPMCU connected through SPI.
> > + - items:
> > + - const: google,cros-ec-fp
> > + - const: google,cros-ec-spi
> > + # For implementations of the EC is connected through SPI.
> > + - items:
> > + - const: google,cros-ec-spi
> > + # For implementations of the EC is connected through RPMSG.
> > + - items:
> > + - const: google,cros-ec-rpmsg
> >
> > controller-data:
> > description:
> > @@ -176,6 +189,37 @@ allOf:
> > - reg
> > - interrupts
> >
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: google,cros-ec-fp
> > + then:
> > + properties:
> > + '#address-cells': false
> > + '#size-cells': false
> > + typec: false
> > + ec-pwm: false
> > + keyboard-controller: false
> > + proximity: false
> > + codecs: false
> > + cbas: false
> > +
> > + patternProperties:
> > + "^i2c-tunnel[0-9]*$": false
> > + "^regulator@[0-9]+$": false
> > + "^extcon[0-9]*$": false
>
> Is the list of what's allowed shorter? If so, you could list those
> properties and use 'additionalProperties: false'.

Yes.

>
> Or maybe this is a sign that this should be a separate schema document.

I couldn't figure that out. I tried to add new properties here but it
didn't work. And then when I tried to make a different schema document
it complained that the example for google,cros-ec-spi in here had a
problem. Can properties be defined in this section? Or only listed and
then additionalProperties be marked false?