* [PATCH] dt-bindings: cpufreq: qcom-cpufreq-nvmem: Simplify bindings
@ 2026-11-05 19:46 Krzysztof Kozlowski
2026-11-06 9:17 ` Varadarajan Narayanan
2026-11-06 21:15 ` Rob Herring (Arm)
0 siblings, 2 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2026-11-05 19:46 UTC (permalink / raw)
To: Ilia Lin, Rafael J. Wysocki, Viresh Kumar, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, linux-pm,
devicetree, linux-kernel
Cc: Krzysztof Kozlowski, Varadarajan Narayanan
This binding selects a few top-level compatible machines, but since
commit 389de9c5a677 ("dt-bindings: cpufreq: qcom-cpufreq-nvmem: make cpr
bindings optional") only qcom,qcs404 is present in "if:then:" clause
which enforces specific OPP properties.
For all other machines, this is a no-op, because there is no schema here
enforcing a specific compatible for OPP nodes or any of OPP table
properties: one can switch to standard OPP table (operating-points-v2)
and this binding will not complain.
OTOH, this binding has complicated "if:then:" blocks so is not easy to
maintain and causes false positives when regular OPP table is
encountered in matched machines.
Drop all machines except QCS404 and move the subschema to top-level.
Cc: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
---
.../bindings/cpufreq/qcom-cpufreq-nvmem.yaml | 78 ++++++-------------
1 file changed, 24 insertions(+), 54 deletions(-)
diff --git a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
index 547265b8b118..dfc7a27a7bdd 100644
--- a/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
+++ b/Documentation/devicetree/bindings/cpufreq/qcom-cpufreq-nvmem.yaml
@@ -25,22 +25,30 @@ select:
compatible:
contains:
enum:
- - qcom,apq8064
- - qcom,apq8096
- - qcom,ipq5332
- - qcom,ipq6018
- - qcom,ipq8064
- - qcom,ipq8074
- - qcom,ipq9574
- - qcom,msm8909
- - qcom,msm8939
- - qcom,msm8960
- - qcom,msm8974
- - qcom,msm8996
- qcom,qcs404
required:
- compatible
+properties:
+ cpus:
+ type: object
+
+ patternProperties:
+ '^cpu@[0-9a-f]+$':
+ type: object
+
+ properties:
+ power-domains:
+ maxItems: 1
+
+ power-domain-names:
+ items:
+ - const: cpr
+
+ required:
+ - power-domains
+ - power-domain-names
+
patternProperties:
'^opp-table(-[a-z0-9]+)?$':
allOf:
@@ -48,10 +56,13 @@ patternProperties:
properties:
compatible:
enum:
- - operating-points-v2-krait-cpu
- operating-points-v2-kryo-cpu
then:
$ref: /schemas/opp/opp-v2-kryo-cpu.yaml#
+ patternProperties:
+ '^opp-?[0-9]+$':
+ required:
+ - required-opps
- if:
properties:
@@ -62,47 +73,6 @@ patternProperties:
unevaluatedProperties: false
-allOf:
- - if:
- properties:
- compatible:
- contains:
- enum:
- - qcom,qcs404
-
- then:
- properties:
- cpus:
- type: object
-
- patternProperties:
- '^cpu@[0-9a-f]+$':
- type: object
-
- properties:
- power-domains:
- maxItems: 1
-
- power-domain-names:
- items:
- - const: cpr
-
- required:
- - power-domains
- - power-domain-names
-
- patternProperties:
- '^opp-table(-[a-z0-9]+)?$':
- if:
- properties:
- compatible:
- const: operating-points-v2-kryo-cpu
- then:
- patternProperties:
- '^opp-?[0-9]+$':
- required:
- - required-opps
-
additionalProperties: true
examples:
--
2.53.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] dt-bindings: cpufreq: qcom-cpufreq-nvmem: Simplify bindings
2026-11-05 19:46 [PATCH] dt-bindings: cpufreq: qcom-cpufreq-nvmem: Simplify bindings Krzysztof Kozlowski
@ 2026-11-06 9:17 ` Varadarajan Narayanan
2026-11-06 21:15 ` Rob Herring (Arm)
1 sibling, 0 replies; 3+ messages in thread
From: Varadarajan Narayanan @ 2026-11-06 9:17 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Ilia Lin, Rafael J. Wysocki, Viresh Kumar, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, linux-pm,
devicetree, linux-kernel
On Thu, Nov 05, 2026 at 08:46:07PM +0100, Krzysztof Kozlowski wrote:
> This binding selects a few top-level compatible machines, but since
> commit 389de9c5a677 ("dt-bindings: cpufreq: qcom-cpufreq-nvmem: make cpr
> bindings optional") only qcom,qcs404 is present in "if:then:" clause
> which enforces specific OPP properties.
>
> For all other machines, this is a no-op, because there is no schema here
> enforcing a specific compatible for OPP nodes or any of OPP table
> properties: one can switch to standard OPP table (operating-points-v2)
> and this binding will not complain.
>
> OTOH, this binding has complicated "if:then:" blocks so is not easy to
> maintain and causes false positives when regular OPP table is
> encountered in matched machines.
>
> Drop all machines except QCS404 and move the subschema to top-level.
>
> Cc: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Thanks. With this change don't get the [1] error.
-Varada
1 - https://lore.kernel.org/linux-arm-msm/athPyI5nvYG4vmfl@hu-varada-blr.qualcomm.com/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] dt-bindings: cpufreq: qcom-cpufreq-nvmem: Simplify bindings
2026-11-05 19:46 [PATCH] dt-bindings: cpufreq: qcom-cpufreq-nvmem: Simplify bindings Krzysztof Kozlowski
2026-11-06 9:17 ` Varadarajan Narayanan
@ 2026-11-06 21:15 ` Rob Herring (Arm)
1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-11-06 21:15 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: linux-pm, Conor Dooley, Krzysztof Kozlowski, linux-kernel,
Ilia Lin, devicetree, Rafael J. Wysocki, Varadarajan Narayanan,
linux-arm-msm, Viresh Kumar
On Thu, 05 Nov 2026 20:46:07 +0100, Krzysztof Kozlowski wrote:
> This binding selects a few top-level compatible machines, but since
> commit 389de9c5a677 ("dt-bindings: cpufreq: qcom-cpufreq-nvmem: make cpr
> bindings optional") only qcom,qcs404 is present in "if:then:" clause
> which enforces specific OPP properties.
>
> For all other machines, this is a no-op, because there is no schema here
> enforcing a specific compatible for OPP nodes or any of OPP table
> properties: one can switch to standard OPP table (operating-points-v2)
> and this binding will not complain.
>
> OTOH, this binding has complicated "if:then:" blocks so is not easy to
> maintain and causes false positives when regular OPP table is
> encountered in matched machines.
>
> Drop all machines except QCS404 and move the subschema to top-level.
>
> Cc: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> ---
> .../bindings/cpufreq/qcom-cpufreq-nvmem.yaml | 78 ++++++-------------
> 1 file changed, 24 insertions(+), 54 deletions(-)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-06 21:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-05 19:46 [PATCH] dt-bindings: cpufreq: qcom-cpufreq-nvmem: Simplify bindings Krzysztof Kozlowski
2026-11-06 9:17 ` Varadarajan Narayanan
2026-11-06 21:15 ` Rob Herring (Arm)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®