diff mbox series

[V3] dt-bindings: clock: qcom: Remove required-opps from required list on SM8650

Message ID 20240730034552.31271-1-quic_jkona@quicinc.com
State New
Headers show
Series [V3] dt-bindings: clock: qcom: Remove required-opps from required list on SM8650 | expand

Commit Message

Jagadeesh Kona July 30, 2024, 3:45 a.m. UTC
On SM8650, the minimum voltage corner supported on MMCX from cmd-db is
sufficient for clock controllers to operate and there is no need to specify
the required-opps. Hence remove the required-opps property from the list of
required properties for SM8650 camcc and videocc bindings.

This fixes:
arch/arm64/boot/dts/qcom/sm8650-mtp.dtb: clock-controller@aaf0000:
'required-opps' is a required property

arch/arm64/boot/dts/qcom/sm8650-mtp.dtb: clock-controller@ade0000:
'required-opps' is a required property

Fixes: a6a61b9701d1 ("dt-bindings: clock: qcom: Add SM8650 video clock controller")
Fixes: 1ae3f0578e0e ("dt-bindings: clock: qcom: Add SM8650 camera clock controller")
Reported-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Closes: https://lore.kernel.org/all/0f13ab6b-dff1-4b26-9707-704ae2e2b535@linaro.org/
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202407070147.C9c3oTqS-lkp@intel.com/
Signed-off-by: Jagadeesh Kona <quic_jkona@quicinc.com>
---
Changes in V3:
 - Made only required-opps property conditional and added it based on the variant
 - Link to V2: https://lore.kernel.org/all/20240720052818.26441-1-quic_jkona@quicinc.com/
Changes in V2:
 - Made required: conditional and dropped required-opps from it only for SM8650 platform
 - Dropped Krzysztof Acked-by tag due to above changes
 - Link to V1: https://lore.kernel.org/all/20240708130836.19273-1-quic_jkona@quicinc.com/

 .../bindings/clock/qcom,sm8450-camcc.yaml     | 22 +++++++++++++++----
 .../bindings/clock/qcom,sm8450-videocc.yaml   | 14 +++++++++++-
 2 files changed, 31 insertions(+), 5 deletions(-)

Comments

Krzysztof Kozlowski July 31, 2024, 6:27 a.m. UTC | #1
On 30/07/2024 05:45, Jagadeesh Kona wrote:
> -
>  properties:
>    compatible:
>      enum:
> @@ -57,7 +54,24 @@ required:
>    - compatible
>    - clocks
>    - power-domains
> -  - required-opps
> +
> +allOf:
> +  - $ref: qcom,gcc.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc8280xp-camcc
> +              - qcom,sm8450-camcc
> +              - qcom,sm8550-camcc
> +              - qcom,x1e80100-camcc
> +    then:
> +      required:
> +        - required-opps
> +    else:
> +      properties:
> +        required-opps: false


Why would required-opps be invalid for SM8650? What if we want some
higher opp for some reason? The point of v1 and v2 was oonly to require
required-opps on certain variants, not to disallow it in other cases.

Best regards,
Krzysztof
Krzysztof Kozlowski July 31, 2024, 6:30 a.m. UTC | #2
On 30/07/2024 05:45, Jagadeesh Kona wrote:
> On SM8650, the minimum voltage corner supported on MMCX from cmd-db is
> sufficient for clock controllers to operate and there is no need to specify
> the required-opps. Hence remove the required-opps property from the list of
> required properties for SM8650 camcc and videocc bindings.
> 
> This fixes:
> arch/arm64/boot/dts/qcom/sm8650-mtp.dtb: clock-controller@aaf0000:
> 'required-opps' is a required property
> 
> arch/arm64/boot/dts/qcom/sm8650-mtp.dtb: clock-controller@ade0000:
> 'required-opps' is a required property
> 
> Fixes: a6a61b9701d1 ("dt-bindings: clock: qcom: Add SM8650 video clock controller")
> Fixes: 1ae3f0578e0e ("dt-bindings: clock: qcom: Add SM8650 camera clock controller")

Also, these should be two separate commits. Each fix for one issue is
one logical change.

>  

Best regards,
Krzysztof
Jagadeesh Kona July 31, 2024, 10:01 a.m. UTC | #3
On 7/31/2024 11:57 AM, Krzysztof Kozlowski wrote:
> On 30/07/2024 05:45, Jagadeesh Kona wrote:
>> -
>>   properties:
>>     compatible:
>>       enum:
>> @@ -57,7 +54,24 @@ required:
>>     - compatible
>>     - clocks
>>     - power-domains
>> -  - required-opps
>> +
>> +allOf:
>> +  - $ref: qcom,gcc.yaml#
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - qcom,sc8280xp-camcc
>> +              - qcom,sm8450-camcc
>> +              - qcom,sm8550-camcc
>> +              - qcom,x1e80100-camcc
>> +    then:
>> +      required:
>> +        - required-opps
>> +    else:
>> +      properties:
>> +        required-opps: false
> 
> 
> Why would required-opps be invalid for SM8650? What if we want some
> higher opp for some reason? The point of v1 and v2 was oonly to require
> required-opps on certain variants, not to disallow it in other cases.
> 

Thanks Krzysztof for your review.

Yes, agree, will drop the else part in next series.

Thanks,
Jagadeesh

> Best regards,
> Krzysztof
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml
index f58edfc10f4c..eb806ef6dbea 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml
@@ -21,9 +21,6 @@  description: |
     include/dt-bindings/clock/qcom,sm8650-camcc.h
     include/dt-bindings/clock/qcom,x1e80100-camcc.h
 
-allOf:
-  - $ref: qcom,gcc.yaml#
-
 properties:
   compatible:
     enum:
@@ -57,7 +54,24 @@  required:
   - compatible
   - clocks
   - power-domains
-  - required-opps
+
+allOf:
+  - $ref: qcom,gcc.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sc8280xp-camcc
+              - qcom,sm8450-camcc
+              - qcom,sm8550-camcc
+              - qcom,x1e80100-camcc
+    then:
+      required:
+        - required-opps
+    else:
+      properties:
+        required-opps: false
 
 unevaluatedProperties: false
 
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml
index b2792b4bb554..c5c3fe5091fb 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml
@@ -44,11 +44,23 @@  required:
   - compatible
   - clocks
   - power-domains
-  - required-opps
   - '#power-domain-cells'
 
 allOf:
   - $ref: qcom,gcc.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sm8450-videocc
+              - qcom,sm8550-videocc
+    then:
+      required:
+        - required-opps
+    else:
+      properties:
+        required-opps: false
 
 unevaluatedProperties: false