Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: mkrishn@codeaurora.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: Tue, 30 Mar 2021 14:42:21 -0500	[thread overview]
Message-ID: <20210330194221.GA588861@robh.at.kernel.org> (raw)
In-Reply-To: <b41d57010d51356bdc4af1cd9d9c01ec@codeaurora.org>

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

  parent reply	other threads:[~2021-03-30 19:43 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 [this message]
2021-03-31  4:02             ` mkrishn
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=20210330194221.GA588861@robh.at.kernel.org \
    --to=robh@kernel.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=mkrishn@codeaurora.org \
    --cc=rnayak@codeaurora.org \
    --cc=robdclark@gmail.com \
    --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