Re: [RFT PATCH 5/5] dt-bindings: drm: bridge: adi,adv7511.txt: convert to yaml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 6, 2020 at 8:11 AM Ricardo Cañuelo
<ricardo.canuelo@xxxxxxxxxxxxx> wrote:
>
> Hi Rob, thanks for taking the time to review the patch. Some comments
> below:
>
> On mar 05-05-2020 13:56:07, Rob Herring wrote:
> > > +  # adi,input-style and adi,input-justification are required except in
> > > +  # "rgb 1x" and "yuv444 1x" modes.
> > > +  - if:
> > > +      not:
> > > +        properties:
> > > +          adi,input-colorspace:
> > > +            contains:
> > > +              enum: [ rgb, yuv444 ]
> > > +          adi,input-clock:
> > > +            contains:
> > > +              const: 1x
> >
> > I believe this will be true (before the not) if the properties are not
> > present. You need 'required' if that's not what you want.
>
> I'm not sure I understand what you mean, but dt_binding_check doesn't
> say anything about adi,input-style and adi,input-justification being
> required when adi,input-colorspace and adi,input-clock are not present.
>
> I think I covered every possible case wrt those properties when running
> dt_binding_check and I got the results I was looking for:
>
> - When compatible is either "adi,adv7533" or "adi,adv7535",
>   adi,input-colorspace and adi,input-clock aren't required
>
> - For any of the other compatible strings, adi,input-colorspace and
>   adi,input-clock are required.
>
> - When adi,input-colorspace and adi,input-clock are defined and they are
>   different than "rgb 1x" or "yuv444 1x", adi,input-style and
>   adi,input-justification are required.
>
> There's an issue I can't figure out, though. adi,input-colorspace and
> adi,input-clock are defined only for devices other than "adi,adv7533"
> and "adi,adv7535", but a DT for one of these devices can use those
> properties and the binding check won't complain. Moreover, it will check
> the above condition even if it doesn't make sense for them (ie. it may
> complain that adi,input-style and adi,input-justification are required
> even if they aren't defined for "adi,adv7533" and "adi,adv7535").
>
> I think it's a minor issue, but do you know if there's a way to model
> that? Are properties always unconditionally defined?

I think you want something like this:

if:
  properties:
    compatible:
      contains:
        enum:
          - adi,adv7533
          - adi,adv7535
then:
  not:
    properties:
      adi,input-style: false
      adi,input-justification: false

Which means the schema fails if either property is present.

It may also just be easier to split this schema into 2. It's a
judgement call on how much is shared vs. how much if/then/else logic
there is.

Rob




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux