diff mbox series

[v2] dt-bindings: soc: qcom: convert qcom,smem bindings to yaml

Message ID 20201204022401.1054122-1-dmitry.baryshkov@linaro.org (mailing list archive)
State Superseded
Headers show
Series [v2] dt-bindings: soc: qcom: convert qcom,smem bindings to yaml | expand

Commit Message

Dmitry Baryshkov Dec. 4, 2020, 2:24 a.m. UTC
Convert soc/qcom/qcom,smem.txt bindings to YAML format.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/soc/qcom/qcom,smem.txt           | 57 ---------------
 .../bindings/soc/qcom/qcom,smem.yaml          | 73 +++++++++++++++++++
 2 files changed, 73 insertions(+), 57 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
 create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml

Comments

Rob Herring (Arm) Dec. 7, 2020, 4:43 p.m. UTC | #1
On Fri, 04 Dec 2020 05:24:01 +0300, Dmitry Baryshkov wrote:
> Convert soc/qcom/qcom,smem.txt bindings to YAML format.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../bindings/soc/qcom/qcom,smem.txt           | 57 ---------------
>  .../bindings/soc/qcom/qcom,smem.yaml          | 73 +++++++++++++++++++
>  2 files changed, 73 insertions(+), 57 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
>  create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> 


My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/soc/qcom/qcom,smem.example.dt.yaml: memory@fc428000: 'device_type' is a required property
	From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/memory.yaml


See https://patchwork.ozlabs.org/patch/1410768

The base for the patch is generally the last rc1. Any dependencies
should be noted.

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.
Dmitry Baryshkov Dec. 10, 2020, 11:38 a.m. UTC | #2
On Mon, 7 Dec 2020 at 19:43, Rob Herring <robh@kernel.org> wrote:
>
> On Fri, 04 Dec 2020 05:24:01 +0300, Dmitry Baryshkov wrote:
> > Convert soc/qcom/qcom,smem.txt bindings to YAML format.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  .../bindings/soc/qcom/qcom,smem.txt           | 57 ---------------
> >  .../bindings/soc/qcom/qcom,smem.yaml          | 73 +++++++++++++++++++
> >  2 files changed, 73 insertions(+), 57 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> >  create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> >
>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/soc/qcom/qcom,smem.example.dt.yaml: memory@fc428000: 'device_type' is a required property
>         From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/memory.yaml

Rob, Bjorn, this opens a question for me: do we have to specify
device_type for the following device node? Or is it a false positive?

/ {
    soc {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        rpm_msg_ram: memory@fc428000 {
            compatible = "qcom,rpm-msg-ram";
            reg = <0xfc428000 0x4000>;
        };
    };
};
Rob Herring (Arm) Dec. 10, 2020, 10:22 p.m. UTC | #3
On Thu, Dec 10, 2020 at 5:38 AM Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Mon, 7 Dec 2020 at 19:43, Rob Herring <robh@kernel.org> wrote:
> >
> > On Fri, 04 Dec 2020 05:24:01 +0300, Dmitry Baryshkov wrote:
> > > Convert soc/qcom/qcom,smem.txt bindings to YAML format.
> > >
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > ---
> > >  .../bindings/soc/qcom/qcom,smem.txt           | 57 ---------------
> > >  .../bindings/soc/qcom/qcom,smem.yaml          | 73 +++++++++++++++++++
> > >  2 files changed, 73 insertions(+), 57 deletions(-)
> > >  delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> > >  create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
> > >
> >
> >
> > My bot found errors running 'make dt_binding_check' on your patch:
> >
> > yamllint warnings/errors:
> >
> > dtschema/dtc warnings/errors:
> > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/soc/qcom/qcom,smem.example.dt.yaml: memory@fc428000: 'device_type' is a required property
> >         From schema: /usr/local/lib/python3.8/dist-packages/dtschema/schemas/memory.yaml
>
> Rob, Bjorn, this opens a question for me: do we have to specify
> device_type for the following device node? Or is it a false positive?

Well, 'memory' nodes should be 'main memory' that the OS manages. This
looks more like onchip SRAM, so 'sram@fc428000' perhaps.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
deleted file mode 100644
index 9326cdf6e1b1..000000000000
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
+++ /dev/null
@@ -1,57 +0,0 @@ 
-Qualcomm Shared Memory Manager binding
-
-This binding describes the Qualcomm Shared Memory Manager, used to share data
-between various subsystems and OSes in Qualcomm platforms.
-
-- compatible:
-	Usage: required
-	Value type: <stringlist>
-	Definition: must be:
-		    "qcom,smem"
-
-- memory-region:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: handle to memory reservation for main SMEM memory region.
-
-- qcom,rpm-msg-ram:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: handle to RPM message memory resource
-
-- hwlocks:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: reference to a hwspinlock used to protect allocations from
-		    the shared memory
-
-= EXAMPLE
-The following example shows the SMEM setup for MSM8974, with a main SMEM region
-at 0xfa00000 and the RPM message ram at 0xfc428000:
-
-	reserved-memory {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		ranges;
-
-		smem_region: smem@fa00000 {
-			reg = <0xfa00000 0x200000>;
-			no-map;
-		};
-	};
-
-	smem@fa00000 {
-		compatible = "qcom,smem";
-
-		memory-region = <&smem_region>;
-		qcom,rpm-msg-ram = <&rpm_msg_ram>;
-
-		hwlocks = <&tcsr_mutex 3>;
-	};
-
-	soc {
-		rpm_msg_ram: memory@fc428000 {
-			compatible = "qcom,rpm-msg-ram";
-			reg = <0xfc428000 0x4000>;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
new file mode 100644
index 000000000000..867640c09932
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml
@@ -0,0 +1,73 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/soc/qcom/qcom,smem.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Qualcomm Shared Memory Manager binding
+
+maintainers:
+  - Andy Gross <agross@kernel.org>
+  - Bjorn Andersson <bjorn.andersson@linaro.org>
+
+description: |
+  This binding describes the Qualcomm Shared Memory Manager, used to share data
+  between various subsystems and OSes in Qualcomm platforms.
+
+properties:
+  compatible:
+    const: "qcom-smem"
+
+  memory-region:
+    maxItems: 1
+    description: handle to memory reservation for main SMEM memory region.
+
+  hwlocks:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: reference to a hwspinlock used to protect allocations from the shared memory
+
+  qcom,rpm-msg-ram:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: handle to RPM message memory resource
+
+required:
+  - compatible
+  - memory-region
+  - hwlocks
+
+additionalProperties: false
+
+examples:
+  - |
+    reserved-memory {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        ranges;
+
+        smem_region: smem@fa00000 {
+            reg = <0xfa00000 0x200000>;
+            no-map;
+        };
+    };
+
+    smem {
+        compatible = "qcom,smem";
+
+        memory-region = <&smem_region>;
+        qcom,rpm-msg-ram = <&rpm_msg_ram>;
+
+        hwlocks = <&tcsr_mutex 3>;
+    };
+
+    soc {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        ranges;
+
+        rpm_msg_ram: memory@fc428000 {
+            compatible = "qcom,rpm-msg-ram";
+            reg = <0xfc428000 0x4000>;
+        };
+    };
+
+...