Re: [PATCH v2 1/6] dt-bindings: i2c: qcom,i2c-cci: Fall back to common compatibles

Konrad Dybcio
2022-12-13T19:20:28Z

On 13.12.2022 20:16, Krzysztof Kozlowski wrote:
> On 13/12/2022 19:33, Konrad Dybcio wrote:
>> Almost every compatible string in the CCI driver is a duplicate. Adjust
>> the bindings to include a common (first-soc-implementing-vX) compatible
>> to remove the need to keep adding superfluous compatible strings.
>>
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>> ---
>> Changes in v2:
>> - make sure the actual patch contests are tested..
>> - resolve errors
>>
>> .../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 47 ++++++++++++-------
>> 1 file changed, 30 insertions(+), 17 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>> index cf9f8fda595f..87e414f0c39c 100644
>> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>> @@ -12,14 +12,23 @@ maintainers:
>>
>> properties:
>> compatible:
>> - enum:
>> - - qcom,msm8226-cci
>> - - qcom,msm8916-cci
>> - - qcom,msm8974-cci
>> - - qcom,msm8996-cci
>> - - qcom,sdm845-cci
>> - - qcom,sm8250-cci
>> - - qcom,sm8450-cci
>> + oneOf:
>> + - enum:
>> + - qcom,msm8226-cci
>> + - qcom,msm8974-cci
>> + - qcom,msm8996-cci
>> +
>> + - items:
>> + - enum:
>> + - qcom,msm8916-cci
>> + - const: qcom,msm8226-cci # CCI v1
>> +
>> + - items:
>> + - enum:
>> + - qcom,sdm845-cci
>> + - qcom,sm8250-cci
>> + - qcom,sm8450-cci
>> + - const: qcom,msm8996-cci # CCI v2
>>
>> "#address-cells":
>> const: 1
>> @@ -88,10 +97,12 @@ allOf:
>> - if:
>> properties:
>> compatible:
>> - contains:
>> - enum:
>> - - qcom,msm8226-cci
>> - - qcom,msm8974-cci
>> + oneOf:
>> + - contains:
>> + enum:
>> + - qcom,msm8974-cci
>> +
>> + - const: qcom,msm8226-cci
>
> The old version is here also correct and simpler. I don't think you need
> to change it this way.
>
>> then:
>> properties:
>> clocks:
>> @@ -105,10 +116,12 @@ allOf:
>> - if:
>> properties:
>> compatible:
>> - contains:
>> - enum:
>> - - qcom,msm8916-cci
>> - - qcom,msm8996-cci
>> + oneOf:
>> + - contains:
>> + enum:
>> + - qcom,msm8916-cci
>> +
>> + - const: qcom,msm8996-cci
>
> The same comment.
e.g. the 845 example contains 8996 but does not fall in this category,
reverting this change causes errors.

Konrad
>
>> then:
>> properties:
>> clocks:
>> @@ -169,7 +182,7 @@ examples:
>>
>> cci@ac4a000 {
>> reg = <0x0ac4a000 0x4000>;
>> - compatible = "qcom,sdm845-cci";
>> + compatible = "qcom,sdm845-cci", "qcom,msm8996-cci";
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>
> Best regards,
> Krzysztof
>