Re: [PATCH v3 01/13] dt-bindings: display: Convert common panel bindings to DT schema

From: Geert Uytterhoeven
Date: Fri Oct 25 2019 - 10:39:05 EST


Hi Rob,

On Fri, Oct 25, 2019 at 4:25 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> On Fri, Oct 25, 2019 at 8:07 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > On Fri, Jul 5, 2019 at 6:46 PM Rob Herring <robh@xxxxxxxxxx> wrote:
> > > Convert the common panel bindings to DT schema consolidating scattered
> > > definitions to a single schema file.
> > >
> > > The 'simple-panel' binding just a collection of properties and not a
> > > complete binding itself. All of the 'simple-panel' properties are
> > > covered by the panel-common.txt binding with the exception of the
> > > 'no-hpd' property, so add that to the schema.
> > >
> > > As there are lots of references to simple-panel.txt, just keep the file
> > > with a reference to common.yaml for now until all the bindings are
> > > converted.
> > >
> > > Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
> > > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > > Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> > > Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx>
> > > Reviewed-by: Thierry Reding <treding@xxxxxxxxxx>
> > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> >
> > This is now commit 821a1f7171aeea5e ("dt-bindings: display: Convert
> > common panel bindings to DT schema").
> >
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/display/panel/panel-common.yaml
> >
> > > + backlight:
> > > + $ref: /schemas/types.yaml#/definitions/phandle
> > > + description:
> > > + For panels whose backlight is controlled by an external backlight
> > > + controller, this property contains a phandle that references the
> > > + controller.
> >
> > This paragraph seems to apply to all nodes named "backlight", causing
> > e.g. (for ARCH=arm mach_shmobile_defconfig) "make dtbs_check
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/panel/panel-common.yaml"
> > to start complaining:
> >
> > arch/arm/boot/dts/r8a7740-armadillo800eva.dt.yaml: backlight:
> > {'compatible': ['pwm-backlight'], 'pwms': [[40, 2, 33333, 1]],
> > 'brightness-levels': [[0, 1, 2, 4, 8, 16, 32, 64, 128, 255]],
> > 'default-brightness-level': [[9]], 'pinctrl-0': [[41]],
> > 'pinctrl-names': ['default'], 'power-supply': [[42]], 'enable-gpios':
> > [[15, 61, 0]]} is not of type 'array'
> > arch/arm/boot/dts/r8a7740-armadillo800eva.dt.yaml: backlight:
> > {'groups': ['tpu0_to2_1'], 'function': ['tpu0'], 'phandle': [[41]]} is
> > not of type 'array'
> >
> > Do you know what's wrong?
>
> I'm not seeing that. What does .../bindings/processed-schema.yaml look like?

I see it with both next-20191015 and v5.4-rc4.

- $filename: /scratch/geert/linux/linux-next/Documentation/devicetree/bindings/display/panel/panel-common.yaml
$id: http://devicetree.org/schemas/display/panel/panel-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
dependencies:
height-mm: [width-mm]
width-mm: [height-mm]
patternProperties: {'pinctrl-[0-9]+': true}
properties:
$nodename: true
backlight: {$ref: /schemas/types.yaml#/definitions/phandle}
ddc-i2c-bus: {$ref: /schemas/types.yaml#/definitions/phandle}
enable-gpios: {maxItems: 1, minItems: 1}
height-mm: {}
label: {}
no-hpd: {type: boolean}
panel-timing: {type: object}
phandle: true
pinctrl-names: true
port: {type: object}
ports: {type: object}
power-supply: {}
reset-gpios: {maxItems: 1, minItems: 1}
rotation:
allOf:
- {$ref: /schemas/types.yaml#/definitions/uint32}
- additionalItems: false
items:
additionalItems: false
items:
enum: [0, 90, 180, 270]
maxItems: 1
minItems: 1
type: array
maxItems: 1
minItems: 1
type: array
status: true
width-mm: {}
select:
properties: {$nodename: true}
required: [$nodename]
title: Common Properties for Display Panels

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds