[PATCH v2 4/4] dt-bindings: display/msm/gpu: fix the schema being not applied

From: Krzysztof Kozlowski
Date: Sun Jun 23 2024 - 16:04:40 EST


dtschema v2024.4, v2024.5 and maybe earlier do not select device nodes for
given binding validation if the schema contains compatible list with
pattern and a const fallback. This leads to binding being a no-op - not
being applied at all. Issue should be fixed in the dtschema but for now
add a work-around do the binding can be used against DTS validation.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>

---

This will uncover issues with DTS, which is expected and fixed in:
1. Incorrect AMD compatible:
https://lore.kernel.org/linux-arm-msm/20240623193420.333735-1-krzysztof.kozlowski@xxxxxxxxxx/T/#t

2. alwayson clock:
https://lore.kernel.org/linux-arm-msm/20240121194221.13513-6-a39.skl@xxxxxxxxx/
---
Documentation/devicetree/bindings/display/msm/gpu.yaml | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index 03aaced1abda..6ddc72fd85b0 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -10,6 +10,18 @@ title: Adreno or Snapdragon GPUs
maintainers:
- Rob Clark <robdclark@xxxxxxxxx>

+# dtschema does not select nodes based on pattern+const, so add custom select
+# as a work-around:
+select:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,adreno
+ - amd,imageon
+ required:
+ - compatible
+
properties:
compatible:
oneOf:

--
2.43.0