Message ID | 20230304-topic-dsi_fixup-v3-1-b8565944d0e6@linaro.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp990232wrd; Sat, 4 Mar 2023 08:17:39 -0800 (PST) X-Google-Smtp-Source: AK7set+M7Jgw0tN1g4K86LTQ8Yy63QCnXNPsgDo45aG+MUukcFaLUKImR5kMb7ocmbmNS+DeGIOa X-Received: by 2002:a62:1c07:0:b0:5a8:a467:f975 with SMTP id c7-20020a621c07000000b005a8a467f975mr5471892pfc.17.1677946659267; Sat, 04 Mar 2023 08:17:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677946659; cv=none; d=google.com; s=arc-20160816; b=qJppmfHxcUPMTLxikIXsYRWcaGo1Z3TR3XdFGSZUnGWfgppQBQV3Shbgos+osep6aX KWQSo+DmterVSZA9BobRnbLtvYVeJL3Rv1hpY5Zmvg36YTWU+b4znO1ur/XKYaSZcJNj zaQLjLXEnx1Jn1SRsLp07/T4IvowJst+C5uLr+Op4f/ZPNby7IBZaLS4u47OfacQjt54 DJSyEzDz4u5Dre+LWxfp6N7w7ZtJX6Lc7lFF+YXt5wVAZ+Lljl8YfcEh180fbW0xUOKi QkonDbQzYXDiAl6WB27ipihXRn0w+K0Ka5yWyEqdouXnB0h8ZXrghE6mC4k2FK2f190X pDlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=R0Z7PCtKUkVqJsivDDGD4tHBvmMLAeq4ZfR9VxFnexc=; b=iLnRZFHcLINdx0u/VfJ34rY7KQSowi9kmdXKaYTzZ/SaD5YbBemPATPWQ3tTb7PQwW JR1bRcTzyEQN2p3xw3s8REffdVhgDN3KYABTlxygbedXKlSCse7o/5LSe24WAlpaBwel YK+OWYXWwjJcKcQmJktVmdo2QwVEch/opH/7ufrgRvGVu85hs7uSbyX9V/Mg3Nb5yu7V 56Gv8dkDtk6sxN4gpu2qjaiA0ueJNXRY9qPiln4lPemy/o1OFWakWdf3DaAJcl1Pt+I6 3eMZP69eq47CAGAtJs0Pev7BAPezqNVw4+jXECLkZFGswXlkGkieSAX6L9M3GKujq2q1 AKOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NeIS309o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z13-20020aa7958d000000b005a8d979fb49si5173946pfj.98.2023.03.04.08.17.27; Sat, 04 Mar 2023 08:17:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NeIS309o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229736AbjCDPzx (ORCPT <rfc822;kernel.ruili@gmail.com> + 99 others); Sat, 4 Mar 2023 10:55:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229729AbjCDPzu (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sat, 4 Mar 2023 10:55:50 -0500 Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC3CE1EFE9 for <linux-kernel@vger.kernel.org>; Sat, 4 Mar 2023 07:55:47 -0800 (PST) Received: by mail-lf1-x129.google.com with SMTP id j11so7271823lfg.13 for <linux-kernel@vger.kernel.org>; Sat, 04 Mar 2023 07:55:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1677945346; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=R0Z7PCtKUkVqJsivDDGD4tHBvmMLAeq4ZfR9VxFnexc=; b=NeIS309oRrzfgN4mcRpjduIs0ET1CsXpx7F6fk9c4qTkRUxXkwIAgBjxR9Y24NA+em Id0bIt3Y5P4pUDCjh5FcwPZhIP7Z5mPuOvO+nfRbUESV6+Jg1JUf/+fVYPr3GGWbl53b ZEHOKfXgea1Pu5aKgm0bOHCi3csUk4/tIqN6mnYh2fEPhCAL2gGLC6p4ASn7ycwGJ0VC kSawh9xsfTcVOKwPdUnmKM40crzSlk/NTkV9P3WCUvGUClE0nu0FcG5PFNjoSEyIoh6A azixturFbvDwFXnJV+O5iJO2XQlS0I1K8U3TWe1C00W3oKuN6IKn9bE9dQ7bAKfVODHZ Lfxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677945346; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R0Z7PCtKUkVqJsivDDGD4tHBvmMLAeq4ZfR9VxFnexc=; b=MYD/xrntlK1/HYSI6+xMqUdvKbs26NdfhElao7M9JIWCMsn8EqmxeR9aeRm5BLMytz froTy9rAR4e5G9S9uUwbsgL7YjFwQj4l2x8u4XOLC038+ToQBmguHRNyy6k8s8xDf+lL mWrKWPzzqNk5pJe9o8PTxzqAjeuAHxhYH0fCp18DJuLnHx9ESqnW9FEfoaYKpVeJNyDu lAD8PUy2Ba89065ZUHsIUY/gmE0CO9i1X0c39ddFBHsV4/wsuWA0YFpkKZjchjI6yj3k aO4VQyQw5Sxhhc4T27DSTH+WMiFCIbcGC+WnFK/J4jVwMwZeHUj40gq3u+7k8W63jTNL PX/w== X-Gm-Message-State: AO0yUKXNSWiZuyiXcBhluC4XyoE9go8s4e5w43r2b0Tw9HfW2Nb96pXu m0bXS18nh0wrCH5VMVvQS7zdnA== X-Received: by 2002:a05:6512:50e:b0:4d1:3d1d:4914 with SMTP id o14-20020a056512050e00b004d13d1d4914mr1705736lfb.33.1677945346240; Sat, 04 Mar 2023 07:55:46 -0800 (PST) Received: from [192.168.1.101] (abym99.neoplus.adsl.tpnet.pl. [83.9.32.99]) by smtp.gmail.com with ESMTPSA id n10-20020a19550a000000b004b40c2fccfdsm864128lfe.59.2023.03.04.07.55.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Mar 2023 07:55:45 -0800 (PST) From: Konrad Dybcio <konrad.dybcio@linaro.org> Date: Sat, 04 Mar 2023 16:55:34 +0100 Subject: [PATCH v3 1/2] dt-bindings: display/msm: dsi-controller-main: Fix deprecated compatible MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20230304-topic-dsi_fixup-v3-1-b8565944d0e6@linaro.org> References: <20230304-topic-dsi_fixup-v3-0-b8565944d0e6@linaro.org> In-Reply-To: <20230304-topic-dsi_fixup-v3-0-b8565944d0e6@linaro.org> To: Rob Clark <robdclark@gmail.com>, Abhinav Kumar <quic_abhinavk@quicinc.com>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Sean Paul <sean@poorly.run>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Krishna Manikandan <quic_mkrishn@quicinc.com>, Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Rob Herring <robh@kernel.org>, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> X-Mailer: b4 0.12.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1677945343; l=1144; i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; bh=5kzj2YWxyC8wUuhDCqozlnQie7hmtcE8bSzx7ndtKT4=; b=olX0NwynmYUDEuRLxQzz5x+tMQUX0Hk65zsshFPLVTSumrfcaOfAj0K/vUwUoug6uYb6Jh7ADOy+ SZb+1LQvAIb7B91UXDsBmx1I1PihC85gXkyLh20jXAsMg46ih3lx X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759454595749776239?= X-GMAIL-MSGID: =?utf-8?q?1759454595749776239?= |
Series |
Fix up Qualcomm DSI bindings
|
|
Commit Message
Konrad Dybcio
March 4, 2023, 3:55 p.m. UTC
The point of the previous cleanup was to disallow "qcom,mdss-dsi-ctrl"
alone. This however didn't quite work out and the property became
undocumented instead of deprecated. Fix that.
Fixes: 0c0f65c6dd44 ("dt-bindings: msm: dsi-controller-main: Add compatible strings for every current SoC")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 04/03/2023 15:55, Konrad Dybcio wrote: > The point of the previous cleanup was to disallow "qcom,mdss-dsi-ctrl" > alone. This however didn't quite work out and the property became > undocumented instead of deprecated. Fix that. > > Fixes: 0c0f65c6dd44 ("dt-bindings: msm: dsi-controller-main: Add compatible strings for every current SoC") > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > index f195530ae964..d534451c8f7f 100644 > --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > @@ -35,7 +35,7 @@ properties: > - items: > - enum: > - qcom,dsi-ctrl-6g-qcm2290 > - - const: qcom,mdss-dsi-ctrl > + - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible > deprecated: true > > reg: > This change would make compatible = "qcom,dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; break though Take this example, I'm going to use 8916 because its easy. If we apply your change to dsi-controller-main.yaml diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml index e75a3efe4dace..e93c16431f0a1 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml @@ -34,7 +34,7 @@ properties: - items: - enum: - dsi-ctrl-6g-qcm2290 - - const: qcom,mdss-dsi-ctrl + - qcom,mdss-dsi-ctrl deprecated: true reg: and then make 8916 == compatible = "qcom,dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi index 0733c2f4f3798..7332b5f66a09d 100644 --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1094,7 +1094,7 @@ mdp5_intf1_out: endpoint { }; dsi0: dsi@1a98000 { - compatible = "qcom,msm8916-dsi-ctrl", + compatible = "dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; reg = <0x01a98000 0x25c>; reg-names = "dsi_ctrl"; arch/arm64/boot/dts/qcom/apq8016-sbc.dtb: dsi@1a98000: compatible: 'oneOf' conditional failed, one must be fixed: ['dsi-ctrl-6g-qcm2290', 'qcom,mdss-dsi-ctrl'] is too long so compatible = "qcom,dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; is now invalid, not deprecated. This change also makes compatible = "qcom,dsi-ctrl-6g-qcm2290" or compatible = "qcom,mdss-dsi-ctrl" standalone valid compatible which is again not what we want. - enum: - qcom,dsi-ctrl-6g-qcm2290 - qcom,mdss-dsi-ctrl means either "qcom,dsi-ctrl-6g-qcm2290" or "qcom,mdss-dsi-ctrl" are valid compat strings... As an example if you apply your change and then change the msm8916.dtsi to the below diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml index e75a3efe4dace..e93c16431f0a1 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml @@ -34,7 +34,7 @@ properties: - items: - enum: - dsi-ctrl-6g-qcm2290 - - const: qcom,mdss-dsi-ctrl + - qcom,mdss-dsi-ctrl deprecated: true reg: diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi index 0733c2f4f3798..829fbe05b5713 100644 --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { }; dsi0: dsi@1a98000 { - compatible = "qcom,msm8916-dsi-ctrl", - "qcom,mdss-dsi-ctrl"; + compatible = "qcom,mdss-dsi-ctrl"; reg = <0x01a98000 0x25c>; reg-names = "dsi_ctrl"; Then test it with make O=$BUILDDIR DT_DOC_CHECKER=$DT_DOC_CHECKER DT_EXTRACT_EX=$DT_EXTRACT_EX DT_MK_SCHEMA=$DT_MK_SCHEMA DT_CHECKER=$DT_CHECKER CHECKER_FLAGS=-W=1 CHECK_DTBS=y qcom/apq8016-sbc.dtb you'll see no error. However if you just do this diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi index 0733c2f4f3798..829fbe05b5713 100644 --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { }; dsi0: dsi@1a98000 { - compatible = "qcom,msm8916-dsi-ctrl", - "qcom,mdss-dsi-ctrl"; + compatible = "qcom,mdss-dsi-ctrl"; reg = <0x01a98000 0x25c>; reg-names = "dsi_ctrl"; and run the same test you get apq8016-sbc.dtb: dsi@1a98000: compatible: 'oneOf' conditional failed, one must be fixed: ['qcom,mdss-dsi-ctrl'] is too short 'qcom,mdss-dsi-ctrl' is not one of ['qcom,apq8064-dsi-ctrl', 'qcom,msm8916-dsi-ctrl', 'qcom,msm8953-dsi-ctrl', 'qcom,msm8974-dsi-ctrl', 'qcom,msm8996-dsi-ctrl', 'qcom,msm8998-dsi-ctrl', 'qcom,qcm2290-dsi-ctrl', 'qcom,sc7180-dsi-ctrl', 'qcom,sc7280-dsi-ctrl', 'qcom,sdm660-dsi-ctrl', 'qcom,sdm845-dsi-ctrl', 'qcom,sm8150-dsi-ctrl', 'qcom,sm8250-dsi-ctrl', 'qcom,sm8350-dsi-ctrl', 'qcom,sm8450-dsi-ctrl', 'qcom,sm8550-dsi-ctrl'] --- bod
On 4.03.2023 17:59, Bryan O'Donoghue wrote: > On 04/03/2023 15:55, Konrad Dybcio wrote: >> The point of the previous cleanup was to disallow "qcom,mdss-dsi-ctrl" >> alone. This however didn't quite work out and the property became >> undocumented instead of deprecated. Fix that. >> >> Fixes: 0c0f65c6dd44 ("dt-bindings: msm: dsi-controller-main: Add compatible strings for every current SoC") >> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> --- >> Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml >> index f195530ae964..d534451c8f7f 100644 >> --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml >> +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml >> @@ -35,7 +35,7 @@ properties: >> - items: >> - enum: >> - qcom,dsi-ctrl-6g-qcm2290 >> - - const: qcom,mdss-dsi-ctrl >> + - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible >> deprecated: true >> reg: >> > > This change would make compatible = "qcom,dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; break though Intended, they were never supposed to go together, as at the time before this patchset (and its stated dependency) the fallback would not be sufficient, the driver wouldn't even probe. > > Take this example, I'm going to use 8916 because its easy. > > If we apply your change to dsi-controller-main.yaml > > diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > index e75a3efe4dace..e93c16431f0a1 100644 > --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > @@ -34,7 +34,7 @@ properties: > - items: > - enum: > - dsi-ctrl-6g-qcm2290 > - - const: qcom,mdss-dsi-ctrl > + - qcom,mdss-dsi-ctrl > deprecated: true > > reg: > > and then make 8916 == compatible = "qcom,dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; > > diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi > index 0733c2f4f3798..7332b5f66a09d 100644 > --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi > @@ -1094,7 +1094,7 @@ mdp5_intf1_out: endpoint { > }; > > dsi0: dsi@1a98000 { > - compatible = "qcom,msm8916-dsi-ctrl", > + compatible = "dsi-ctrl-6g-qcm2290", > "qcom,mdss-dsi-ctrl"; > reg = <0x01a98000 0x25c>; > reg-names = "dsi_ctrl"; > > arch/arm64/boot/dts/qcom/apq8016-sbc.dtb: dsi@1a98000: compatible: 'oneOf' conditional failed, one must be fixed: > ['dsi-ctrl-6g-qcm2290', 'qcom,mdss-dsi-ctrl'] is too long > > > so compatible = "qcom,dsi-ctrl-6g-qcm2290", "qcom,mdss-dsi-ctrl"; is now invalid, not deprecated. Intended > > This change also makes compatible = "qcom,dsi-ctrl-6g-qcm2290" or compatible = "qcom,mdss-dsi-ctrl" standalone valid compatible which is again not what we want. -ish, it's marked as deprecated but it is valid. > > - enum: > - qcom,dsi-ctrl-6g-qcm2290 > - qcom,mdss-dsi-ctrl > > means either "qcom,dsi-ctrl-6g-qcm2290" or "qcom,mdss-dsi-ctrl" are valid compat strings... Correct > > As an example if you apply your change and then change the msm8916.dtsi to the below > > diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > index e75a3efe4dace..e93c16431f0a1 100644 > --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > @@ -34,7 +34,7 @@ properties: > - items: > - enum: > - dsi-ctrl-6g-qcm2290 > - - const: qcom,mdss-dsi-ctrl > + - qcom,mdss-dsi-ctrl > deprecated: true > > reg: > diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi > index 0733c2f4f3798..829fbe05b5713 100644 > --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi > @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { > }; > > dsi0: dsi@1a98000 { > - compatible = "qcom,msm8916-dsi-ctrl", > - "qcom,mdss-dsi-ctrl"; > + compatible = "qcom,mdss-dsi-ctrl"; > reg = <0x01a98000 0x25c>; > reg-names = "dsi_ctrl"; > > Then test it with > > make O=$BUILDDIR DT_DOC_CHECKER=$DT_DOC_CHECKER DT_EXTRACT_EX=$DT_EXTRACT_EX DT_MK_SCHEMA=$DT_MK_SCHEMA DT_CHECKER=$DT_CHECKER CHECKER_FLAGS=-W=1 CHECK_DTBS=y qcom/apq8016-sbc.dtb (sidenote: you can just do make ARCH=.. OUT=.. CHECK_DTBS=y qcom/apq8016-sbc.dtb the tools are picked up automatically by Kbuild) > > you'll see no error. However if you just do this > > diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi > index 0733c2f4f3798..829fbe05b5713 100644 > --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi > @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { > }; > > dsi0: dsi@1a98000 { > - compatible = "qcom,msm8916-dsi-ctrl", > - "qcom,mdss-dsi-ctrl"; > + compatible = "qcom,mdss-dsi-ctrl"; > reg = <0x01a98000 0x25c>; > reg-names = "dsi_ctrl"; > > > and run the same test you get Yes, correct. It's valid but it's deprecated, so the bindings are sane. Keep in mind there's an ABI-like aspect to this. Konrad > > apq8016-sbc.dtb: dsi@1a98000: compatible: 'oneOf' conditional failed, one must be fixed: > ['qcom,mdss-dsi-ctrl'] is too short > 'qcom,mdss-dsi-ctrl' is not one of ['qcom,apq8064-dsi-ctrl', 'qcom,msm8916-dsi-ctrl', 'qcom,msm8953-dsi-ctrl', 'qcom,msm8974-dsi-ctrl', 'qcom,msm8996-dsi-ctrl', 'qcom,msm8998-dsi-ctrl', 'qcom,qcm2290-dsi-ctrl', 'qcom,sc7180-dsi-ctrl', 'qcom,sc7280-dsi-ctrl', 'qcom,sdm660-dsi-ctrl', 'qcom,sdm845-dsi-ctrl', 'qcom,sm8150-dsi-ctrl', 'qcom,sm8250-dsi-ctrl', 'qcom,sm8350-dsi-ctrl', 'qcom,sm8450-dsi-ctrl', 'qcom,sm8550-dsi-ctrl'] > > --- > bod
On 04/03/2023 17:35, Konrad Dybcio wrote: >> you'll see no error. However if you just do this >> >> diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi >> index 0733c2f4f3798..829fbe05b5713 100644 >> --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi >> +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi >> @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { >> }; >> >> dsi0: dsi@1a98000 { >> - compatible = "qcom,msm8916-dsi-ctrl", >> - "qcom,mdss-dsi-ctrl"; >> + compatible = "qcom,mdss-dsi-ctrl"; >> reg = <0x01a98000 0x25c>; >> reg-names = "dsi_ctrl"; >> >> >> and run the same test you get > Yes, correct. It's valid but it's deprecated, so the bindings are > sane. Keep in mind there's an ABI-like aspect to this. > > Konrad The _driver_ will still accept "qcom,mdss-dsi-ctrl" which is ABI compliant but, I don't see why the yaml should. If you declare a new .dts with only "qcom,mdss-dsi-ctrl", that should throw a yaml check error. --- bod
On 04/03/2023 17:45, Bryan O'Donoghue wrote: > On 04/03/2023 17:35, Konrad Dybcio wrote: >>> you'll see no error. However if you just do this >>> >>> diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi >>> b/arch/arm64/boot/dts/qcom/msm8916.dtsi >>> index 0733c2f4f3798..829fbe05b5713 100644 >>> --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi >>> @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { >>> }; >>> >>> dsi0: dsi@1a98000 { >>> - compatible = "qcom,msm8916-dsi-ctrl", >>> - "qcom,mdss-dsi-ctrl"; >>> + compatible = "qcom,mdss-dsi-ctrl"; >>> reg = <0x01a98000 0x25c>; >>> reg-names = "dsi_ctrl"; >>> >>> >>> and run the same test you get >> Yes, correct. It's valid but it's deprecated, so the bindings are >> sane. Keep in mind there's an ABI-like aspect to this. >> >> Konrad > > The _driver_ will still accept "qcom,mdss-dsi-ctrl" which is ABI > compliant but, I don't see why the yaml should. > > If you declare a new .dts with only "qcom,mdss-dsi-ctrl", that should > throw a yaml check error. > > --- > bod Actually. I agree with you, I just dislike it. - "qcom,mdss-dsi-ctrl" <- the driver will accept this - "qcom,dsi-ctrl-6g-qcm2290" <- the driver will not accept this bah Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
On 04/03/2023 16:55, Konrad Dybcio wrote: > The point of the previous cleanup was to disallow "qcom,mdss-dsi-ctrl" > alone. This however didn't quite work out and the property became s/property/compatible/ > undocumented instead of deprecated. Fix that. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On 4.03.2023 18:53, Bryan O'Donoghue wrote: > On 04/03/2023 17:45, Bryan O'Donoghue wrote: >> On 04/03/2023 17:35, Konrad Dybcio wrote: >>>> you'll see no error. However if you just do this >>>> >>>> diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi >>>> index 0733c2f4f3798..829fbe05b5713 100644 >>>> --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi >>>> +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi >>>> @@ -1094,8 +1094,7 @@ mdp5_intf1_out: endpoint { >>>> }; >>>> >>>> dsi0: dsi@1a98000 { >>>> - compatible = "qcom,msm8916-dsi-ctrl", >>>> - "qcom,mdss-dsi-ctrl"; >>>> + compatible = "qcom,mdss-dsi-ctrl"; >>>> reg = <0x01a98000 0x25c>; >>>> reg-names = "dsi_ctrl"; >>>> >>>> >>>> and run the same test you get >>> Yes, correct. It's valid but it's deprecated, so the bindings are >>> sane. Keep in mind there's an ABI-like aspect to this. >>> >>> Konrad >> >> The _driver_ will still accept "qcom,mdss-dsi-ctrl" which is ABI compliant but, I don't see why the yaml should. >> >> If you declare a new .dts with only "qcom,mdss-dsi-ctrl", that should throw a yaml check error. >> >> --- >> bod > > Actually. I agree with you, I just dislike it. If I understand correctly, you are dissatisfied with dt_binding_check not even throwing a warning when a deprecated binding is present.. I agree, that could be improved.. Konrad > > - "qcom,mdss-dsi-ctrl" <- the driver will accept this > - "qcom,dsi-ctrl-6g-qcm2290" <- the driver will not accept this > > bah > > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml index f195530ae964..d534451c8f7f 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml @@ -35,7 +35,7 @@ properties: - items: - enum: - qcom,dsi-ctrl-6g-qcm2290 - - const: qcom,mdss-dsi-ctrl + - qcom,mdss-dsi-ctrl # This should always come with an SoC-specific compatible deprecated: true reg: