Re: [PATCH v2 01/13] dt-bindings: gpio: add common schema for GPIO controllers
From: Rob Herring
Date: Tue Sep 22 2020 - 11:40:24 EST
On Sun, Sep 20, 2020 at 09:39:15PM +0200, Krzysztof Kozlowski wrote:
> On Fri, Sep 18, 2020 at 08:30:02AM -0600, Rob Herring wrote:
> > On Thu, Sep 17, 2020 at 10:53 AM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> > >
> > > Convert parts of gpio.txt bindings into common dtschema file for GPIO
> > > controllers. The schema enforces proper naming of GPIO controller nodes
> > > and GPIO hogs.
> >
> > Did you not see my previous reply about a common schema? We already
> > have a common GPIO and hog schema in dtschema. Please add to it
> > whatever is missing.
>
> Indeed, I'll enhance the dt-schema.
>
> The trouble is that each in-kernel YAML file still has to mention
> possible gpio-hogs nodes. Is the proper solution to put them in common
> YAML inside kernel sources?
Currently, the gpio.yaml schema is applied to all nodes. That has the
advantage that GPIO related properties are always checked whether we
have a device specific schema or not. It has the disadvantage that you
can't do some constraints like required properties or what's in child
nodes.
We could (and probably should) change it to be referenced by specific
gpio controller schemas like we do for i2c, spi, etc. Then you can
define required properties there and do something like:
"-hogs$":
type: object
$ref: gpio-hogs.yaml#
> > My goal is all common schema end up in dtschema, but I haven't pushed
> > folks to do that yet. Ones I've done are there though. One issue is
> > what's in dtschema should be GPL/BSD and the existing text bindings
> > are default GPL, so there's a relicensing exercise. In some cases, the
> > schema is there but I haven't copied over the descriptions.
>
> Right, I'll skip the descriptions when posting to dt-schema.
I was hoping someone would add the descriptions. :)
Rob