Re: [PATCH 13/36] dt-bindings: arm: Convert PMU binding to json-schema

From: Will Deacon
Date: Wed Oct 10 2018 - 12:50:54 EST


On Tue, Oct 09, 2018 at 01:14:02PM -0500, Rob Herring wrote:
> On Tue, Oct 9, 2018 at 6:57 AM Will Deacon <will.deacon@xxxxxxx> wrote:
> >
> > Hi Rob,
> >
> > On Fri, Oct 05, 2018 at 11:58:25AM -0500, Rob Herring wrote:
> > > Convert ARM PMU binding to DT schema format using json-schema.
> > >
> > > Cc: Will Deacon <will.deacon@xxxxxxx>
> > > Cc: Mark Rutland <mark.rutland@xxxxxxx>
> > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > > Cc: devicetree@xxxxxxxxxxxxxxx
> > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> > > ---
> > > Documentation/devicetree/bindings/arm/pmu.txt | 70 --------------
> > > .../devicetree/bindings/arm/pmu.yaml | 96 +++++++++++++++++++
> > > 2 files changed, 96 insertions(+), 70 deletions(-)
> > > delete mode 100644 Documentation/devicetree/bindings/arm/pmu.txt
> > > create mode 100644 Documentation/devicetree/bindings/arm/pmu.yaml
> >
> > [...]
> >
> > > -- interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu
> > > - interrupt (PPI) then 1 interrupt should be specified.
> >
> > [...]
> >
> > > + interrupts:
> > > + oneOf:
> > > + - maxItems: 1
> > > + - minItems: 2
> > > + maxItems: 8
> > > + description: 1 interrupt per core.
> > > +
> > > + interrupts-extended:
> > > + $ref: '#/properties/interrupts'
> >
> > This seems like a semantic different between the two representations, or am
> > I missing something here? Specifically, both the introduction of
> > interrupts-extended and also dropping any mention of using a single per-cpu
> > interrupt (the single combined case is no longer support by Linux; not sure
> > if you want to keep it in the binding).
>
> 'interrupts-extended' was implied before as it is always supported and
> outside the scope of the binding. But now it is needed to validate
> bindings. There must be some use of it and that's why I added it.
> However, thinking some more about this, I think it may be better to
> have the tools add this in automatically whenever we have an
> interrupts property.

To be honest, if you'd included that in the commit message I'd have been
happy :)

> I guess the single interrupt case is less obvious now with no
> description (it's the first list item of 'oneOf'). The schema If the
> single interrupt is not supported, then we can drop it here.

Well the description says "1 interrupt per core" which is incorrect. I also
don't understand why maxItems is 8.

Will