Some SoCs (like SM8150 and SM8250) don't seem to provide a qup-core path.
Allow such case.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
.../bindings/i2c/qcom,i2c-geni-qcom.yaml | 27 +++++++++++++++-------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
index 9f66a3bb1f80..f92b6d7fc7c5 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
@@ -108,14 +108,25 @@ allOf:
clock-names:
const: se
- interconnects:
- minItems: 3
-
- interconnect-names:
- items:
- - const: qup-core
- - const: qup-config
- - const: qup-memory
+ oneOf:
+ - properties:
+ interconnects:
+ maxItems: 2
+
+ interconnect-names:
+ items:
+ - const: qup-config
+ - const: qup-memory
+
+ - properties:
+ interconnects:
+ minItems: 3
+
+ interconnect-names:
+ items:
+ - const: qup-core
+ - const: qup-config
+ - const: qup-memory
unevaluatedProperties: false
--
2.41.0
On 03/07/2023 15:31, Konrad Dybcio wrote: > Some SoCs (like SM8150 and SM8250) don't seem to provide a qup-core path. > Allow such case. > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On 03/07/2023 16:36, Krzysztof Kozlowski wrote:
> On 03/07/2023 15:31, Konrad Dybcio wrote:
>> Some SoCs (like SM8150 and SM8250) don't seem to provide a qup-core path.
>> Allow such case.
>>
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Un-reviewed. Don't define properties in oneOf, instead use the syntax I
pointed out in other patch. If you remove interconnects from this
example, you will reproduce the error.
This should be something like:
interconnects:
minItems: 2
maxItems: 3
interconnect-names:
oneOf:
- items:
- const: qup-config
- const: qup-memory
- items:
- const: qup-core
- const: qup-config
- const: qup-memory
Best regards,
Krzysztof
On Mon, 03 Jul 2023 15:31:12 +0200, Konrad Dybcio wrote:
> Some SoCs (like SM8150 and SM8250) don't seem to provide a qup-core path.
> Allow such case.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> .../bindings/i2c/qcom,i2c-geni-qcom.yaml | 27 +++++++++++++++-------
> 1 file changed, 19 insertions(+), 8 deletions(-)
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.example.dtb: geniqup@8c0000: i2c@a94000: More than one condition true in oneOf schema:
{'oneOf': [{'patternProperties': {'pinctrl-[0-9]+': True},
'properties': {'$nodename': True,
'bootph-all': True,
'bootph-pre-ram': True,
'bootph-pre-sram': True,
'bootph-some-ram': True,
'bootph-verify': True,
'interconnect-names': {'items': [{'const': 'qup-config'},
{'const': 'qup-memory'}],
'maxItems': 2,
'minItems': 2,
'type': 'array'},
'interconnects': {'maxItems': 2,
'minItems': 2},
'phandle': True,
'pinctrl-names': True,
'secure-status': True,
'status': True}},
{'patternProperties': {'pinctrl-[0-9]+': True},
'properties': {'$nodename': True,
'bootph-all': True,
'bootph-pre-ram': True,
'bootph-pre-sram': True,
'bootph-some-ram': True,
'bootph-verify': True,
'interconnect-names': {'items': [{'const': 'qup-core'},
{'const': 'qup-config'},
{'const': 'qup-memory'}],
'maxItems': 3,
'minItems': 3,
'type': 'array'},
'interconnects': {'maxItems': 3,
'minItems': 3},
'phandle': True,
'pinctrl-names': True,
'secure-status': True,
'status': True}}],
'properties': {'clock-names': {'items': [{'const': 'se'}],
'maxItems': 1,
'minItems': 1,
'type': 'array'},
'clocks': {'maxItems': 1, 'minItems': 1}}}
from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,geni-se.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.example.dtb: i2c@a94000: More than one condition true in oneOf schema:
{'oneOf': [{'patternProperties': {'pinctrl-[0-9]+': True},
'properties': {'$nodename': True,
'bootph-all': True,
'bootph-pre-ram': True,
'bootph-pre-sram': True,
'bootph-some-ram': True,
'bootph-verify': True,
'interconnect-names': {'items': [{'const': 'qup-config'},
{'const': 'qup-memory'}],
'maxItems': 2,
'minItems': 2,
'type': 'array'},
'interconnects': {'maxItems': 2,
'minItems': 2},
'phandle': True,
'pinctrl-names': True,
'secure-status': True,
'status': True}},
{'patternProperties': {'pinctrl-[0-9]+': True},
'properties': {'$nodename': True,
'bootph-all': True,
'bootph-pre-ram': True,
'bootph-pre-sram': True,
'bootph-some-ram': True,
'bootph-verify': True,
'interconnect-names': {'items': [{'const': 'qup-core'},
{'const': 'qup-config'},
{'const': 'qup-memory'}],
'maxItems': 3,
'minItems': 3,
'type': 'array'},
'interconnects': {'maxItems': 3,
'minItems': 3},
'phandle': True,
'pinctrl-names': True,
'secure-status': True,
'status': True}}],
'properties': {'clock-names': {'items': [{'const': 'se'}],
'maxItems': 1,
'minItems': 1,
'type': 'array'},
'clocks': {'maxItems': 1, 'minItems': 1}}}
from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-geni-qcom.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230703-topic-8250_qup_icc-v1-3-fea39aa07525@linaro.org
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2026 Red Hat, Inc.