From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F382AC433C1 for ; Wed, 31 Mar 2021 04:04:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C28B4619D3 for ; Wed, 31 Mar 2021 04:04:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230073AbhCaEDu (ORCPT ); Wed, 31 Mar 2021 00:03:50 -0400 Received: from m43-7.mailgun.net ([69.72.43.7]:32656 "EHLO m43-7.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229615AbhCaEDQ (ORCPT ); Wed, 31 Mar 2021 00:03:16 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1617163396; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=Y0gZpO/bTBQSZaClWoDBw9n7Me+ef2gxANT4BhIqB5g=; b=sJfZd15QqiQ+aIQepNoBID+efYgMSoaazaH3colKpBP3y5ibW6YQ+yRBtFfLenpjCgau64C5 FDrS4fl8gLBcEfiu6UOr36p5OeKG/2VxcrEG0oUGJLci0aRMGWKah3hf/qTisisfga5hQyxJ f9qxpG0xirfHyeRj0ZQpZqHXQLY= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI1MzIzYiIsICJsaW51eC1hcm0tbXNtQHZnZXIua2VybmVsLm9yZyIsICJiZTllNGEiXQ== Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n03.prod.us-east-1.postgun.com with SMTP id 6063f47103cfff345244b554 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Wed, 31 Mar 2021 04:02:57 GMT Sender: mkrishn=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 80C9DC433ED; Wed, 31 Mar 2021 04:02:56 +0000 (UTC) Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: mkrishn) by smtp.codeaurora.org (Postfix) with ESMTPSA id 58C23C433CA; Wed, 31 Mar 2021 04:02:55 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 31 Mar 2021 09:32:55 +0530 From: mkrishn@codeaurora.org To: Rob Herring Cc: Stephen Boyd , 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 In-Reply-To: <20210330194221.GA588861@robh.at.kernel.org> References: <1616673661-20038-1-git-send-email-mkrishn@codeaurora.org> <1616673661-20038-3-git-send-email-mkrishn@codeaurora.org> <161671311714.3012082.4777798674596112311@swboyd.mtv.corp.google.com> <81ea21602c74d2b18e4b013dda3a3213@codeaurora.org> <161698798504.3012082.2821776620747041419@swboyd.mtv.corp.google.com> <20210330194221.GA588861@robh.at.kernel.org> Message-ID: X-Sender: mkrishn@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.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 >> > > >> + >> > > >> +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