Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: mkrishn@codeaurora.org
To: Rob Herring <robh@kernel.org>
Cc: Stephen Boyd <swboyd@chromium.org>,
	linux-arm-msm@vger.kernel.org, kalyan_t@codeaurora.org,
	tanmay@codeaurora.org, abhinavk@codeaurora.org,
	robdclark@gmail.com, bjorn.andersson@linaro.org,
	vinod.koul@linaro.org, rnayak@codeaurora.org,
	dianders@chromium.org, sibis@codeaurora.org,
	khsieh@codeaurora.org
Subject: Re: [PATCH v14 3/4] dt-bindings: msm: dsi: add yaml schemas for DSI PHY bindings
Date: Wed, 31 Mar 2021 09:32:55 +0530	[thread overview]
Message-ID: <ee04dc23421ab315d814bad56859eb2c@codeaurora.org> (raw)
In-Reply-To: <20210330194221.GA588861@robh.at.kernel.org>

On 2021-03-31 01:12, Rob Herring wrote:
> On Tue, Mar 30, 2021 at 02:52:29PM +0530, mkrishn@codeaurora.org wrote:
>> On 2021-03-29 08:49, Stephen Boyd wrote:
>> > Quoting mkrishn@codeaurora.org (2021-03-26 03:36:30)
>> > > On 2021-03-26 04:28, Stephen Boyd wrote:
>> > > > Quoting Krishna Manikandan (2021-03-25 05:01:00)
>> > > >> diff --git
>> > > >> a/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>> > > >> b/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>> > > >> new file mode 100644
>> > > >> index 0000000..4a26bef
>> > > >> --- /dev/null
>> > > >> +++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>> > > >> @@ -0,0 +1,68 @@
>> > > >> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>> > > >> +%YAML 1.2
>> > > >> +---
>> > > >> +$id: http://devicetree.org/schemas/display/msm/dsi-phy-10nm.yaml#
>> > > >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> > > >> +
>> > > >> +title: Qualcomm Display DSI 10nm PHY
>> > > >> +
>> > > >> +maintainers:
>> > > >> +  - Krishna Manikandan <mkrishn@codeaurora.org>
>> > > >> +
>> > > >> +allOf:
>> > > >> +  - $ref: dsi-phy-common.yaml#
>> > > >> +
>> > > >> +properties:
>> > > >> +  compatible:
>> > > >> +    oneOf:
>> > [..]
>> > > >> and
>> > > >> +      connected to VDDA_MIPI_DSI_0_PLL_0P9 pin for sdm845 target
>> > > >> +
>> > > >> +required:
>> > > >> +  - compatible
>> > > >> +  - reg
>> > > >> +  - reg-names
>> > > >> +  - vdds-supply
>> > > >> +
>> > > >> +unevaluatedProperties: false
>> > > >
>> > > > additionalProperties: false instead? This comment applies to the other
>> > > > bindings in this patch.
>> > >
>> > > Hi Stephen,
>> > > We are referencing dsi-phy-common.yaml in this file. Since the
>> > > properties of dsi-phy-common.yaml are applicable to this file also, I
>> > > added unevaluatedProperties: false. If we add additionalProperties:
>> > > false instead, then the properties of dsi-phy-common.yaml will not be
>> > > applicable here and this will throw an error if we add the properties
>> > > from dsi-phy-common.yaml in the example.
>> > >
>> >
>> > Does that matter? I was wondering about that and so I peeked at the
>> > qcom pinctrl binding and it seems to follow a similar design but doesn't
>> > have unevaluatedProperties: false. Instead it has additionalProperies:
>> > false. See qcom,sc8180x-pinctrl.yaml for an example. So did you try it
>> > or does something say you can't do this?
>> 
>> Hi Stephen,
>> I had tried the same thing in one of my initial patches and I got a 
>> comment
>> from Rob that we have to use unevaluatedProperties when we are 
>> referring
>> another 
>> file(https://patchwork.kernel.org/project/linux-arm-msm/patch/1589868421-30062-1-git-send-email-mkrishn@codeaurora.org/)
> 
> Maybe I had a wrong assumption that you needed the child nodes too?
> 
>> In latest dt-schema tool, we will get error if we try to change it to
>> additionalProperties: false.
>> For example, in this patch "#clock-cells' and '#phy-cells' are 
>> mentioned in
>> dsi-phy-common.yaml and I am referring this file in dsi-phy-10nm.yaml. 
>> If I
>> add
>> additionalProperties: false instead of unevaluatedProperties: false, I 
>> will
>> get the error mentioned below.
>> 
>> I checked qcom,sc8180x-pinctrl.yaml that you had mentioned in the 
>> comment
>> and this file is compiling without any issues even though it is using
>> additionalProperties: false. But I see that the properties mentioned 
>> in the
>> reference file (in this case, qcom,tlmm-common.yaml) are again 
>> declared in
>> the main file qcom,sc8180x-pinctrl.yaml even though these are 
>> mentioned as
>> required properties in the common yaml file. If I remove these 
>> properties
>> from qcom,sc8180x-pinctrl.yaml, I can see the same error that I am 
>> getting
>> for my file also if additionalProperties are used. If I follow the 
>> same
>> approach , ie define the properties again in dsi-phy-10nm.yaml and add
>> additionalProperties: false, I dont see any errors during check 
>> (working
>> change mentioned below). Should I make this change for all the files?
>> 
>> Error logs:
>> mkrishn@mkrishn-linux:/local/mnt/workspace/linux-next-latest/linux-next$
>> make dt_binding_check 
>> DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>>   CHKDT   
>> Documentation/devicetree/bindings/processed-schema-examples.json
>>   SCHEMA  
>> Documentation/devicetree/bindings/processed-schema-examples.json
>>   DTEX
>> Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.example.dts
>>   DTC
>> Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.example.dt.yaml
>>   CHECK
>> Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.example.dt.yaml
>> /local/mnt/workspace/linux-next-latest/linux-next/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.example.dt.yaml:
>> dsi-phy@ae94400: '#clock-cells', '#phy-cells', 'clock-names', 'clocks' 
>> do
>> not match any of the regexes: 'pinctrl-[0-9]+'
>>         From schema: 
>> /local/mnt/workspace/linux-next-latest/linux-next/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>> 
>> Working Change:
>> --- a/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>> +++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml
>> @@ -30,6 +30,11 @@ properties:
>>        - const: dsi_phy_lane
>>        - const: dsi_pll
>> 
>> +  '#clock-cells': true
>> +  '#phy-cells': true
>> +  clocks: true
>> +  clock-names: true
>> +
>>    vdds-supply:
>>      description: |
>>        Connected to DSI0_MIPI_DSI_PLL_VDDA0P9 pin for sc7180 target 
>> and
>> @@ -41,7 +46,7 @@ required:
>>    - reg-names
>>    - vdds-supply
>> 
>> -unevaluatedProperties: false
>> +additionalProperties: false
> 
> This works if you want to use some, but not all properties in a
> referenced schema. If all apply or listing them all here is too much
> duplication (such as child nodes, but that's a judgement call), then 
> use
> 'unevaluatedProperties'.
> 
> unevaluatedProperties is also currently a nop because the underlying
> tools don't yet support it. So it won't catch any errors and those
> errors will all have to be fixed when the tools add support.
> 
> Rob

Thanks Rob for the clarification. I will make the changes accordingly.

Thanks,
Krishna

  reply	other threads:[~2021-03-31  4:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25 12:00 [PATCH v14 1/4] dt-bindings: msm: disp: add yaml schemas for DPU bindings Krishna Manikandan
2021-03-25 12:00 ` [PATCH v14 2/4] dt-bindings: msm: dsi: add yaml schemas for DSI bindings Krishna Manikandan
2021-03-25 13:27   ` Dmitry Baryshkov
2021-03-25 22:28     ` Stephen Boyd
2021-03-25 22:48   ` Stephen Boyd
2021-03-25 12:01 ` [PATCH v14 3/4] dt-bindings: msm: dsi: add yaml schemas for DSI PHY bindings Krishna Manikandan
2021-03-25 22:58   ` Stephen Boyd
2021-03-26 10:36     ` mkrishn
2021-03-29  3:19       ` Stephen Boyd
2021-03-30  9:22         ` mkrishn
2021-03-30 19:17           ` Stephen Boyd
2021-03-30 19:42           ` Rob Herring
2021-03-31  4:02             ` mkrishn [this message]
2021-03-25 12:01 ` [PATCH v14 4/4] dt-bindings: msm/dp: Add bindings of MSM DisplayPort controller Krishna Manikandan
2021-03-25 23:10   ` Stephen Boyd
2021-03-25 22:45 ` [PATCH v14 1/4] dt-bindings: msm: disp: add yaml schemas for DPU bindings Stephen Boyd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ee04dc23421ab315d814bad56859eb2c@codeaurora.org \
    --to=mkrishn@codeaurora.org \
    --cc=abhinavk@codeaurora.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=dianders@chromium.org \
    --cc=kalyan_t@codeaurora.org \
    --cc=khsieh@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=rnayak@codeaurora.org \
    --cc=robdclark@gmail.com \
    --cc=robh@kernel.org \
    --cc=sibis@codeaurora.org \
    --cc=swboyd@chromium.org \
    --cc=tanmay@codeaurora.org \
    --cc=vinod.koul@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox