diff mbox series

[25/54] dt-bindings: mmc: Convert MMC Card binding to a schema

Message ID 20210721140424.725744-26-maxime@cerno.tech
State Superseded
Headers show
Series ARM: dts: Last round of DT schema fixes | expand

Commit Message

Maxime Ripard July 21, 2021, 2:03 p.m. UTC
MMC Cards can have an optional Device Tree binding to add
non-discoverable properties.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Some of these properties were already described in the MMC controller
binding, even though they are not generic and do not apply to any
device, so we took the occasion to fix this.

Cc: linux-mmc@vger.kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------
 .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++
 .../bindings/mmc/mmc-controller.yaml          |  6 ---
 3 files changed, 48 insertions(+), 36 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
 create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml

Comments

Rob Herring (Arm) July 23, 2021, 9:57 p.m. UTC | #1
On Wed, Jul 21, 2021 at 04:03:55PM +0200, Maxime Ripard wrote:
> MMC Cards can have an optional Device Tree binding to add

> non-discoverable properties.

> 

> Now that we have the DT validation in place, let's convert the device

> tree bindings for that driver over to a YAML schema.

> 

> Some of these properties were already described in the MMC controller

> binding, even though they are not generic and do not apply to any

> device, so we took the occasion to fix this.

> 

> Cc: linux-mmc@vger.kernel.org

> Cc: Ulf Hansson <ulf.hansson@linaro.org>

> Signed-off-by: Maxime Ripard <maxime@cerno.tech>

> ---

>  .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------

>  .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++

>  .../bindings/mmc/mmc-controller.yaml          |  6 ---

>  3 files changed, 48 insertions(+), 36 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt

>  create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml

> 

> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt

> deleted file mode 100644

> index 8d2d71758907..000000000000

> --- a/Documentation/devicetree/bindings/mmc/mmc-card.txt

> +++ /dev/null

> @@ -1,30 +0,0 @@

> -mmc-card / eMMC bindings

> -------------------------

> -

> -This documents describes the devicetree bindings for a mmc-host controller

> -child node describing a mmc-card / an eMMC, see "Use of Function subnodes"

> -in mmc.txt

> -

> -Required properties:

> --compatible : Must be "mmc-card"

> --reg        : Must be <0>

> -

> -Optional properties:

> --broken-hpi : Use this to indicate that the mmc-card has a broken hpi

> -              implementation, and that hpi should not be used

> -

> -Example:

> -

> -&mmc2 {

> -	pinctrl-names = "default";

> -	pinctrl-0 = <&mmc2_pins_a>;

> -	vmmc-supply = <&reg_vcc3v3>;

> -	bus-width = <8>;

> -	non-removable;

> -

> -	mmccard: mmccard@0 {

> -		reg = <0>;

> -		compatible = "mmc-card";

> -		broken-hpi;

> -	};

> -};

> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml

> new file mode 100644

> index 000000000000..aefdd8748b72

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml

> @@ -0,0 +1,48 @@

> +# SPDX-License-Identifier: GPL-2.0

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: MMC Card / eMMC Generic Device Tree Bindings

> +

> +maintainers:

> +  - Ulf Hansson <ulf.hansson@linaro.org>

> +

> +description: |

> +  This documents describes the devicetree bindings for a mmc-host controller

> +  child node describing a mmc-card / an eMMC.

> +

> +properties:

> +  compatible:

> +    const: mmc-card

> +

> +  reg:

> +    const: 0

> +

> +  broken-hpi:

> +    $ref: /schemas/types.yaml#/definitions/flag

> +    description:

> +      Use this to indicate that the mmc-card has a broken hpi

> +      implementation, and that hpi should not be used.

> +

> +required:

> +  - compatible

> +  - reg

> +

> +additionalProperties: true


Like what? If there's other properties, then there should really be a 
specific compatible.

> +

> +examples:

> +  - |

> +    mmc {

> +        #address-cells = <1>;

> +        #size-cells = <0>;

> +

> +        card@0 {

> +            compatible = "mmc-card";

> +            reg = <0>;

> +            broken-hpi;

> +        };

> +    };

> +

> +...

> diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml

> index 25ac8e200970..513f3c8758aa 100644

> --- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml

> +++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml

> @@ -333,12 +333,6 @@ patternProperties:

>                subnode describes. A value of 0 denotes the memory SD

>                function, values from 1 to 7 denote the SDIO functions.

>  

> -      broken-hpi:

> -        $ref: /schemas/types.yaml#/definitions/flag

> -        description:

> -          Use this to indicate that the mmc-card has a broken hpi

> -          implementation, and that hpi should not be used.

> -

>      required:

>        - reg

>  

> -- 

> 2.31.1

> 

>
Ulf Hansson Aug. 4, 2021, 11:24 a.m. UTC | #2
On Fri, 23 Jul 2021 at 23:57, Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Jul 21, 2021 at 04:03:55PM +0200, Maxime Ripard wrote:
> > MMC Cards can have an optional Device Tree binding to add
> > non-discoverable properties.
> >
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> >
> > Some of these properties were already described in the MMC controller
> > binding, even though they are not generic and do not apply to any
> > device, so we took the occasion to fix this.
> >
> > Cc: linux-mmc@vger.kernel.org
> > Cc: Ulf Hansson <ulf.hansson@linaro.org>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > ---
> >  .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------
> >  .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++
> >  .../bindings/mmc/mmc-controller.yaml          |  6 ---
> >  3 files changed, 48 insertions(+), 36 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
> >  create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt
> > deleted file mode 100644
> > index 8d2d71758907..000000000000
> > --- a/Documentation/devicetree/bindings/mmc/mmc-card.txt
> > +++ /dev/null
> > @@ -1,30 +0,0 @@
> > -mmc-card / eMMC bindings
> > -------------------------
> > -
> > -This documents describes the devicetree bindings for a mmc-host controller
> > -child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
> > -in mmc.txt
> > -
> > -Required properties:
> > --compatible : Must be "mmc-card"
> > --reg        : Must be <0>
> > -
> > -Optional properties:
> > --broken-hpi : Use this to indicate that the mmc-card has a broken hpi
> > -              implementation, and that hpi should not be used
> > -
> > -Example:
> > -
> > -&mmc2 {
> > -     pinctrl-names = "default";
> > -     pinctrl-0 = <&mmc2_pins_a>;
> > -     vmmc-supply = <&reg_vcc3v3>;
> > -     bus-width = <8>;
> > -     non-removable;
> > -
> > -     mmccard: mmccard@0 {
> > -             reg = <0>;
> > -             compatible = "mmc-card";
> > -             broken-hpi;
> > -     };
> > -};
> > diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> > new file mode 100644
> > index 000000000000..aefdd8748b72
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> > @@ -0,0 +1,48 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MMC Card / eMMC Generic Device Tree Bindings
> > +
> > +maintainers:
> > +  - Ulf Hansson <ulf.hansson@linaro.org>
> > +
> > +description: |
> > +  This documents describes the devicetree bindings for a mmc-host controller
> > +  child node describing a mmc-card / an eMMC.
> > +
> > +properties:
> > +  compatible:
> > +    const: mmc-card
> > +
> > +  reg:
> > +    const: 0
> > +
> > +  broken-hpi:
> > +    $ref: /schemas/types.yaml#/definitions/flag
> > +    description:
> > +      Use this to indicate that the mmc-card has a broken hpi
> > +      implementation, and that hpi should not be used.
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: true
>
> Like what? If there's other properties, then there should really be a
> specific compatible.

I agree.

Maxime, thanks for working on this. I assume you will be sending a new
version that I can pick up?

[...]

Kind regards
Uffe
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt
deleted file mode 100644
index 8d2d71758907..000000000000
--- a/Documentation/devicetree/bindings/mmc/mmc-card.txt
+++ /dev/null
@@ -1,30 +0,0 @@ 
-mmc-card / eMMC bindings
-------------------------
-
-This documents describes the devicetree bindings for a mmc-host controller
-child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
-in mmc.txt
-
-Required properties:
--compatible : Must be "mmc-card"
--reg        : Must be <0>
-
-Optional properties:
--broken-hpi : Use this to indicate that the mmc-card has a broken hpi
-              implementation, and that hpi should not be used
-
-Example:
-
-&mmc2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&mmc2_pins_a>;
-	vmmc-supply = <&reg_vcc3v3>;
-	bus-width = <8>;
-	non-removable;
-
-	mmccard: mmccard@0 {
-		reg = <0>;
-		compatible = "mmc-card";
-		broken-hpi;
-	};
-};
diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
new file mode 100644
index 000000000000..aefdd8748b72
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
@@ -0,0 +1,48 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MMC Card / eMMC Generic Device Tree Bindings
+
+maintainers:
+  - Ulf Hansson <ulf.hansson@linaro.org>
+
+description: |
+  This documents describes the devicetree bindings for a mmc-host controller
+  child node describing a mmc-card / an eMMC.
+
+properties:
+  compatible:
+    const: mmc-card
+
+  reg:
+    const: 0
+
+  broken-hpi:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Use this to indicate that the mmc-card has a broken hpi
+      implementation, and that hpi should not be used.
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: true
+
+examples:
+  - |
+    mmc {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        card@0 {
+            compatible = "mmc-card";
+            reg = <0>;
+            broken-hpi;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
index 25ac8e200970..513f3c8758aa 100644
--- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
+++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
@@ -333,12 +333,6 @@  patternProperties:
               subnode describes. A value of 0 denotes the memory SD
               function, values from 1 to 7 denote the SDIO functions.
 
-      broken-hpi:
-        $ref: /schemas/types.yaml#/definitions/flag
-        description:
-          Use this to indicate that the mmc-card has a broken hpi
-          implementation, and that hpi should not be used.
-
     required:
       - reg