diff mbox series

dt-bindings: pwm: Convert lpc32xx-pwm.txt to YAML schema

Message ID 20250311125756.24064-1-purvayeshi550@gmail.com (mailing list archive)
State New
Headers show
Series dt-bindings: pwm: Convert lpc32xx-pwm.txt to YAML schema | expand

Commit Message

Purva Yeshi March 11, 2025, 12:57 p.m. UTC
Convert the existing `lpc32xx-pwm.txt` bindings documentation into a
YAML schema (`lpc32xx-pwm.yaml`).

Changes:

Add SPDX license identifier `(GPL-2.0-only OR BSD-2-Clause)`.
Define `$id` and `$schema` fields for proper schema validation.
Set `title` to describe the LPC32XX PWM controller.
Add maintainers as per `scripts/get_maintainer.pl` output.
Reference `pwm.yaml#` in `allOf` to inherit common PWM properties.

Define properties:
Restrict `compatible` to `"nxp,lpc3220-pwm"` using `const`.
Limit `reg` to `maxItems: 1` to ensure a single register range.
Set `"#pwm-cells"` to `const: 3` for expected PWM cell properties.

Mark `compatible` and `reg` as required properties.
Set `unevaluatedProperties: false` to enforce strict validation.

Validate the YAML schema using dt-validate and yamllint.

Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
---
 .../devicetree/bindings/pwm/lpc32xx-pwm.yaml  | 45 +++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml

Comments

Krzysztof Kozlowski March 11, 2025, 1:22 p.m. UTC | #1
On 11/03/2025 13:57, Purva Yeshi wrote:
> Convert the existing `lpc32xx-pwm.txt` bindings documentation into a
> YAML schema (`lpc32xx-pwm.yaml`).
> 
> Changes:
> 
> Add SPDX license identifier `(GPL-2.0-only OR BSD-2-Clause)`.

That's not a change in the binding.

> Define `$id` and `$schema` fields for proper schema validation.
> Set `title` to describe the LPC32XX PWM controller.

Neither these.

> Add maintainers as per `scripts/get_maintainer.pl` output.

These should not be subsystem maintainers.

> Reference `pwm.yaml#` in `allOf` to inherit common PWM properties.

Not a change to the binding.

> 
> Define properties:
> Restrict `compatible` to `"nxp,lpc3220-pwm"` using `const`.
> Limit `reg` to `maxItems: 1` to ensure a single register range.
> Set `"#pwm-cells"` to `const: 3` for expected PWM cell properties.
> 
> Mark `compatible` and `reg` as required properties.

So it wasn't before? What are you implying here?

> Set `unevaluatedProperties: false` to enforce strict validation.
> 
> Validate the YAML schema using dt-validate and yamllint.

None of above is suitable for commit msg.

> 
> Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
> ---
>  .../devicetree/bindings/pwm/lpc32xx-pwm.yaml  | 45 +++++++++++++++++++
>  1 file changed, 45 insertions(+)

Where is the conversion?

>  create mode 100644 Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
> 
> diff --git a/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
> new file mode 100644
> index 000000000..3e41cd291
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/nxp,lpc32xx-pwm.yaml#

Filename matching compatible.

> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: LPC32XX PWM controller
> +
> +maintainers:
> +  - "Uwe Kleine-König <ukleinek@kernel.org>"
> +  - "Vladimir Zapolskiy <vz@mleia.com>"
> +  - "Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>"

Look at other bindings - none of them use quotes.

> +
> +allOf:
> +  - $ref: pwm.yaml#
> +
> +properties:
> +  compatible:
> +    const: nxp,lpc3220-pwm
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#pwm-cells":
> +    const: 3
> +
> +required:
> +  - compatible
> +  - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    pwm@4005c000 {
> +        compatible = "nxp,lpc3220-pwm";
> +        reg = <0x4005c000 0x4>;
> +        #pwm-cells = <3>;
> +    };
> +  - |
> +    pwm@4005c004 {
> +        compatible = "nxp,lpc3220-pwm";

One example is enough.



Best regards,
Krzysztof
Purva Yeshi March 11, 2025, 2:55 p.m. UTC | #2
On 11/03/25 18:52, Krzysztof Kozlowski wrote:
> On 11/03/2025 13:57, Purva Yeshi wrote:
>> Convert the existing `lpc32xx-pwm.txt` bindings documentation into a
>> YAML schema (`lpc32xx-pwm.yaml`).
>>
>> Changes:
>>
>> Add SPDX license identifier `(GPL-2.0-only OR BSD-2-Clause)`.
> 
> That's not a change in the binding.
> 
>> Define `$id` and `$schema` fields for proper schema validation.
>> Set `title` to describe the LPC32XX PWM controller.
> 
> Neither these.
> 
>> Add maintainers as per `scripts/get_maintainer.pl` output.
> 
> These should not be subsystem maintainers.

I have removed the subsystem maintainers and included only relevant ones:
      Vladimir Zapolskiy <vz@mleia.com>
      Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>

> 
>> Reference `pwm.yaml#` in `allOf` to inherit common PWM properties.
> 
> Not a change to the binding.
> 
>>
>> Define properties:
>> Restrict `compatible` to `"nxp,lpc3220-pwm"` using `const`.
>> Limit `reg` to `maxItems: 1` to ensure a single register range.
>> Set `"#pwm-cells"` to `const: 3` for expected PWM cell properties.
>>
>> Mark `compatible` and `reg` as required properties.
> 
> So it wasn't before? What are you implying here?

The compatible and reg properties were already present in the .txt file, 
but in a different format. I initially kept the commit message for them 
but have now removed it.

> 
>> Set `unevaluatedProperties: false` to enforce strict validation.
>>
>> Validate the YAML schema using dt-validate and yamllint.
> 
> None of above is suitable for commit msg.

I have removed all commit message parts you mentioned.

> 
>>
>> Signed-off-by: Purva Yeshi <purvayeshi550@gmail.com>
>> ---
>>   .../devicetree/bindings/pwm/lpc32xx-pwm.yaml  | 45 +++++++++++++++++++
>>   1 file changed, 45 insertions(+)
> 
> Where is the conversion?

Apologies for the confusion. I missed removing lpc32xx-pwm.txt. I'll 
delete it in the next version to properly reflect the conversion.

> 
>>   create mode 100644 Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>> new file mode 100644
>> index 000000000..3e41cd291
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>> @@ -0,0 +1,45 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/pwm/nxp,lpc32xx-pwm.yaml#
> 
> Filename matching compatible.

In the lpc32xx-pwm.txt file, the compatible property was defined as 
"nxp,lpc3220-pwm", so I have kept it the same. To ensure consistency 
between the filename and compatible, should I rename the file to 
nxp,lpc3220-pwm.yaml?

> 
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: LPC32XX PWM controller
>> +
>> +maintainers:
>> +  - "Uwe Kleine-König <ukleinek@kernel.org>"
>> +  - "Vladimir Zapolskiy <vz@mleia.com>"
>> +  - "Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>"
> 
> Look at other bindings - none of them use quotes.
> 
>> +
>> +allOf:
>> +  - $ref: pwm.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: nxp,lpc3220-pwm
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  "#pwm-cells":
>> +    const: 3
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    pwm@4005c000 {
>> +        compatible = "nxp,lpc3220-pwm";
>> +        reg = <0x4005c000 0x4>;
>> +        #pwm-cells = <3>;
>> +    };
>> +  - |
>> +    pwm@4005c004 {
>> +        compatible = "nxp,lpc3220-pwm";
> 
> One example is enough.

Okay. I'll remove the second example and keep only one in the next version.

> 
> 
> 
> Best regards,
> Krzysztof

Best regards,
Purva Yeshi
Krzysztof Kozlowski March 11, 2025, 3:14 p.m. UTC | #3
On 11/03/2025 15:55, Purva Yeshi wrote:
>>>
>>> Define properties:
>>> Restrict `compatible` to `"nxp,lpc3220-pwm"` using `const`.
>>> Limit `reg` to `maxItems: 1` to ensure a single register range.
>>> Set `"#pwm-cells"` to `const: 3` for expected PWM cell properties.
>>>
>>> Mark `compatible` and `reg` as required properties.
>>
>> So it wasn't before? What are you implying here?
> 
> The compatible and reg properties were already present in the .txt file, 
> but in a different format. I initially kept the commit message for them 
> but have now removed it.

What does it mean "different format"?

...

>>>
>>>   create mode 100644 Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>>> new file mode 100644
>>> index 000000000..3e41cd291
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>>> @@ -0,0 +1,45 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/pwm/nxp,lpc32xx-pwm.yaml#
>>
>> Filename matching compatible.
> 
> In the lpc32xx-pwm.txt file, the compatible property was defined as 
> "nxp,lpc3220-pwm", so I have kept it the same. To ensure consistency 
> between the filename and compatible, should I rename the file to 
> nxp,lpc3220-pwm.yaml?

Use whatever is there in the compatible property as the filename.


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
new file mode 100644
index 000000000..3e41cd291
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
@@ -0,0 +1,45 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/nxp,lpc32xx-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LPC32XX PWM controller
+
+maintainers:
+  - "Uwe Kleine-König <ukleinek@kernel.org>"
+  - "Vladimir Zapolskiy <vz@mleia.com>"
+  - "Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>"
+
+allOf:
+  - $ref: pwm.yaml#
+
+properties:
+  compatible:
+    const: nxp,lpc3220-pwm
+
+  reg:
+    maxItems: 1
+
+  "#pwm-cells":
+    const: 3
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    pwm@4005c000 {
+        compatible = "nxp,lpc3220-pwm";
+        reg = <0x4005c000 0x4>;
+        #pwm-cells = <3>;
+    };
+  - |
+    pwm@4005c004 {
+        compatible = "nxp,lpc3220-pwm";
+        reg = <0x4005c004 0x4>;
+        #pwm-cells = <3>;
+    };