[PATCH] convert sound: realtek: alc5623 from txt to yaml

Mahdi Khosravi posted 1 patch 2 months, 1 week ago
.../devicetree/bindings/sound/alc5623.txt     | 25 ----------
.../bindings/sound/realtek,alc5623.yaml       | 49 +++++++++++++++++++
2 files changed, 49 insertions(+), 25 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/alc5623.txt
create mode 100644 Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
[PATCH] convert sound: realtek: alc5623 from txt to yaml
Posted by Mahdi Khosravi 2 months, 1 week ago
I converted the alc5623 audio codec binding from text to DT schema.
This is my first try and I used make dt_binding_check & make dtbs_check to verify
without getting any errors.

Signed-off-by: Mahdi Khosravi <mmk1776@gmail.com>
---
 .../devicetree/bindings/sound/alc5623.txt     | 25 ----------
 .../bindings/sound/realtek,alc5623.yaml       | 49 +++++++++++++++++++
 2 files changed, 49 insertions(+), 25 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/alc5623.txt
 create mode 100644 Documentation/devicetree/bindings/sound/realtek,alc5623.yaml

diff --git a/Documentation/devicetree/bindings/sound/alc5623.txt b/Documentation/devicetree/bindings/sound/alc5623.txt
deleted file mode 100644
index 26c86c98d671..000000000000
--- a/Documentation/devicetree/bindings/sound/alc5623.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-ALC5621/ALC5622/ALC5623 audio Codec
-
-Required properties:
-
- - compatible:	"realtek,alc5623"
- - reg:		the I2C address of the device.
-
-Optional properties:
-
- - add-ctrl:	  Default register value for Reg-40h, Additional Control
-		  Register. If absent or has the value of 0, the
-		  register is untouched.
-
- - jack-det-ctrl: Default register value for Reg-5Ah, Jack Detect
-		  Control Register. If absent or has value 0, the
-		  register is untouched.
-
-Example:
-
-	alc5621: alc5621@1a {
-		compatible = "alc5621";
-		reg = <0x1a>;
-		add-ctrl = <0x3700>;
-		jack-det-ctrl = <0x4810>;
-	};
diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
new file mode 100644
index 000000000000..98524d06458c
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/realtek,alc5623.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ALC5621/ALC5622/ALC5623 audio Codec
+
+maintainers:
+  - Mahdi Khosravi <mmk1776@gmail.com>
+
+properties:
+  compatible:
+    const: realtek,alc5623
+
+  reg:
+    maxItems: 1
+
+  add-ctrl:
+    description:
+      Default register value for Reg-40h, Additional Control Register. If absent
+      or has the value of 0, the register is untouched.
+    type: object
+
+  jack-det-ctrl:
+    description:
+      Default register value for Reg-5Ah, Jack Detect Control Register. If absent
+      or has value 0, the register is untouched.
+    type: object
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@1a {
+            compatible = "realtek,alc5632";
+            reg = <0x1a>;
+            add-ctrl = <0x3700>;
+            jack-det-ctrl = <0x4810>;
+        };
+    };
-- 
2.50.1
Re: [PATCH] convert sound: realtek: alc5623 from txt to yaml
Posted by Krzysztof Kozlowski 2 months, 1 week ago
On 30/07/2025 11:37, Mahdi Khosravi wrote:
> I converted the alc5623 audio codec binding from text to DT schema.
> This is my first try and I used make dt_binding_check & make dtbs_check to verify
> without getting any errors.

Take a look at your compatible and then look at your example.
realtek,alc5632 is completely different. Just DTS using it in the kernel.


Please use subject prefixes matching the subsystem. You can get them for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching. For bindings, the preferred subjects are
explained here:
https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters


> diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
> new file mode 100644
> index 000000000000..98524d06458c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
> @@ -0,0 +1,49 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/realtek,alc5623.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ALC5621/ALC5622/ALC5623 audio Codec

s/audio/Audio/. Keep it consistent.

> +
> +maintainers:
> +  - Mahdi Khosravi <mmk1776@gmail.com>

That's DAI, no? At least looking at driver? Then you miss dai-common
reference.

> +
> +properties:
> +  compatible:
> +    const: realtek,alc5623
> +
> +  reg:
> +    maxItems: 1
> +
> +  add-ctrl:
> +    description:
> +      Default register value for Reg-40h, Additional Control Register. If absent
> +      or has the value of 0, the register is untouched.
> +    type: object
> +
> +  jack-det-ctrl:
> +    description:
> +      Default register value for Reg-5Ah, Jack Detect Control Register. If absent
> +      or has value 0, the register is untouched.
> +    type: object

None of these are objects. This wasn't tested due to your compatible
issue. :/

> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false

unevaluatedProperties after adding dai-common ref.

> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@1a {
> +            compatible = "realtek,alc5632";


Best regards,
Krzysztof
[PATCH v2] ASoC: dt-bindings: realtek,alc5623: convert binding to YAML
Posted by Mahdi Khosravi 2 months ago
I converted the alc5623 audio codec binding from text to DT schema.
This is my first try and I used make dt_binding_check & make dtbs_check to verify
without getting any errors.

Changes since v1:
- Add dai-common ref
- switch add-ctrl/jack-det-ctrl to allOf uint32
- use unevaluatedProperties
- fix example compatible

Signed-off-by: Mahdi Khosravi <mmk1776@gmail.com>
---
 .../devicetree/bindings/sound/alc5623.txt     | 25 ---------
 .../bindings/sound/realtek,alc5623.yaml       | 54 +++++++++++++++++++
 2 files changed, 54 insertions(+), 25 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/alc5623.txt
 create mode 100644 Documentation/devicetree/bindings/sound/realtek,alc5623.yaml

diff --git a/Documentation/devicetree/bindings/sound/alc5623.txt b/Documentation/devicetree/bindings/sound/alc5623.txt
deleted file mode 100644
index 26c86c98d671..000000000000
--- a/Documentation/devicetree/bindings/sound/alc5623.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-ALC5621/ALC5622/ALC5623 audio Codec
-
-Required properties:
-
- - compatible:	"realtek,alc5623"
- - reg:		the I2C address of the device.
-
-Optional properties:
-
- - add-ctrl:	  Default register value for Reg-40h, Additional Control
-		  Register. If absent or has the value of 0, the
-		  register is untouched.
-
- - jack-det-ctrl: Default register value for Reg-5Ah, Jack Detect
-		  Control Register. If absent or has value 0, the
-		  register is untouched.
-
-Example:
-
-	alc5621: alc5621@1a {
-		compatible = "alc5621";
-		reg = <0x1a>;
-		add-ctrl = <0x3700>;
-		jack-det-ctrl = <0x4810>;
-	};
diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
new file mode 100644
index 000000000000..0b9dc324f04d
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
@@ -0,0 +1,54 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/realtek,alc5623.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ALC5621/ALC5622/ALC5623 Audio Codec
+
+maintainers:
+  - Mahdi Khosravi <mmk1776@gmail.com>
+
+allOf:
+  - $ref: dai-common.yaml#
+
+properties:
+  compatible:
+    const: realtek,alc5623
+
+  reg:
+    maxItems: 1
+
+  add-ctrl:
+    description: >
+      Default register value for Reg-40h, Additional Control Register.
+      If absent or zero, the register is left untouched.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+
+  jack-det-ctrl:
+    description: >
+      Default register value for Reg-5Ah, Jack Detect Control Register.
+      If absent or zero, the register is left untouched.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@1a {
+            compatible = "realtek,alc5623";
+            reg = <0x1a>;
+            add-ctrl = <0x3700>;
+            jack-det-ctrl = <0x4810>;
+        };
+    };
-- 
2.50.1
Re: [PATCH v2] ASoC: dt-bindings: realtek,alc5623: convert binding to YAML
Posted by Krzysztof Kozlowski 2 months ago
On 06/08/2025 11:05, Mahdi Khosravi wrote:
> I converted the alc5623 audio codec binding from text to DT schema.
> This is my first try and I used make dt_binding_check & make dtbs_check to verify
> without getting any errors.

Do not attach (thread) your patchsets to some other threads (unrelated
or older versions). This buries them deep in the mailbox and might
interfere with applying entire sets.

> 
> Changes since v1:

This goes to changelog, so under ---.

> - Add dai-common ref
> - switch add-ctrl/jack-det-ctrl to allOf uint32
> - use unevaluatedProperties
> - fix example compatible

Subject: "convert to DT Schema"
Not to YAML.

> 
> Signed-off-by: Mahdi Khosravi <mmk1776@gmail.com>
> ---


...

> diff --git a/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
> new file mode 100644
> index 000000000000..0b9dc324f04d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/realtek,alc5623.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/realtek,alc5623.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ALC5621/ALC5622/ALC5623 Audio Codec
> +
> +maintainers:
> +  - Mahdi Khosravi <mmk1776@gmail.com>
> +
> +allOf:
> +  - $ref: dai-common.yaml#
> +
> +properties:
> +  compatible:
> +    const: realtek,alc5623
> +
> +  reg:
> +    maxItems: 1
> +
> +  add-ctrl:
> +    description: >

Why did > appear?

> +      Default register value for Reg-40h, Additional Control Register.
> +      If absent or zero, the register is left untouched.
> +    allOf:

Drop allOf, just $ref. Look at other bindings or example-schema.

> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  jack-det-ctrl:
> +    description: >
> +      Default register value for Reg-5Ah, Jack Detect Control Register.
> +      If absent or zero, the register is left untouched.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +



Best regards,
Krzysztof