Re: [PATCH v2 2/4] dt-bindings: crypto: Add DT bindings documentation for sun8i-ss Security System

From: Maxime Ripard
Date: Thu Oct 24 2019 - 14:59:55 EST


On Thu, Oct 24, 2019 at 11:31:18AM +0200, Corentin Labbe wrote:
> On Thu, Oct 24, 2019 at 08:50:05AM +0200, Maxime Ripard wrote:
> > Hi,
> >
> > On Wed, Oct 23, 2019 at 10:10:14PM +0200, Corentin Labbe wrote:
> > > This patch adds documentation for Device-Tree bindings of the
> > > Security System cryptographic offloader driver.
> > >
> > > Signed-off-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
> > > ---
> > > .../bindings/crypto/allwinner,sun8i-ss.yaml | 64 +++++++++++++++++++
> > > 1 file changed, 64 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/crypto/allwinner,sun8i-ss.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/crypto/allwinner,sun8i-ss.yaml b/Documentation/devicetree/bindings/crypto/allwinner,sun8i-ss.yaml
> > > new file mode 100644
> > > index 000000000000..99b7736975bc
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/crypto/allwinner,sun8i-ss.yaml
> > > @@ -0,0 +1,64 @@
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/crypto/allwinner,sun8i-ss.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Allwinner Security System v2 driver
> > > +
> > > +maintainers:
> > > + - Corentin Labbe <corentin.labbe@xxxxxxxxx>
> > > +
> > > +properties:
> > > + compatible:
> > > + enum:
> > > + - allwinner,sun8i-a83t-crypto
> > > + - allwinner,sun9i-a80-crypto
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + interrupts:
> > > + maxItems: 1
> > > +
> > > + clocks:
> > > + items:
> > > + - description: Bus clock
> > > + - description: Module clock
> > > +
> > > + clock-names:
> > > + items:
> > > + - const: bus
> > > + - const: mod
> > > +
> > > + resets:
> > > + maxItems: 1
> >
> > The A83t at least has a reset line, so please make a condition to have
> > it required.
> >
>
> Hello
>
> The A80 have one also, so I need to set minItems: 1
> But setting both minItems: 1 and maxItems:1 lead to a check failure:
>
> properties:resets: {'minItems': 1, 'maxItems': 1} is not valid under
> any of the given schemas
>
> How to do that ?

IIRC the meta-schema prevent having both because the tooling will
insert it for you.

It doesn't really matter at this level though. maxItems alone will
make sure that there's a single element, and the schemas in the tools
will make sure that the type for resets is correct.

What you'd need here though would be to add resets to the list of
required properties, otherwise it will only be checked against if the
property is there.