Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml

From: skakit
Date: Fri Apr 09 2021 - 04:19:07 EST


Hi Sebastian,

On 2021-04-08 18:30, Sebastian Reichel wrote:
Hi,

On Thu, Apr 08, 2021 at 05:01:08PM +0530, satya priya wrote:
Convert qcom PON binding from .txt to .yaml format.

Signed-off-by: satya priya <skakit@xxxxxxxxxxxxxx>
---

Thanks for doing this.

Changes in V2:
- As per Rob's comments, converted the main PON binding and added in V2.

.../devicetree/bindings/power/reset/qcom,pon.txt | 49 ----------------------
.../devicetree/bindings/power/reset/qcom,pon.yaml | 41 ++++++++++++++++++
2 files changed, 41 insertions(+), 49 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt
create mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.yaml

diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
deleted file mode 100644
index 0c0dc3a..0000000
--- a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-Qualcomm PON Device
-
-The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey
-and resin along with the Android reboot-mode.
-
-This DT node has pwrkey and resin as sub nodes.
-
-Required Properties:
--compatible: Must be one of:
- "qcom,pm8916-pon"
- "qcom,pms405-pon"
- "qcom,pm8998-pon"
-
--reg: Specifies the physical address of the pon register
-
-Optional subnode:
--pwrkey: Specifies the subnode pwrkey and should follow the
- qcom,pm8941-pwrkey.txt description.
--resin: Specifies the subnode resin and should follow the
- qcom,pm8xxx-pwrkey.txt description.
-
-The rest of the properties should follow the generic reboot-mode description
-found in reboot-mode.txt
-
-Example:
-
- pon@800 {
- compatible = "qcom,pm8916-pon";
-
- reg = <0x800>;
- mode-bootloader = <0x2>;
- mode-recovery = <0x1>;
-
- pwrkey {
- compatible = "qcom,pm8941-pwrkey";
- interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
- debounce = <15625>;
- bias-pull-up;
- linux,code = <KEY_POWER>;
- };
-
- resin {
- compatible = "qcom,pm8941-resin";
- interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
- debounce = <15625>;
- bias-pull-up;
- linux,code = <KEY_VOLUMEDOWN>;
- };
- };
diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
new file mode 100644
index 0000000..40eea5f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/reset/qcom,pon.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PON Device
+
+maintainers:
+ - Vinod Koul <vkoul@xxxxxxxxxx>
+
+description: |
+ The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey
+ and resin along with the Android reboot-mode.
+
+ This DT node has pwrkey and resin as sub nodes.
+
+properties:
+ compatible:
+ enum:
+ - qcom,pm8916-pon
+ - qcom,pms405-pon
+ - qcom,pm8998-pon
+
+ reg:
+ description: Specifies the physical address of the pon register

That description is obvious and pointless. Instead add

maxItems: 1


Okay.

+ pwrkey:
+ type: object
+ $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
+
+ resin:
+ type: object
+ $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: true

Instead of allowing arbitrary properties, only valid modes
should be allowed. So drop additionalProperties and do this
instead:

allOf:
- $ref: reboot-mode.yaml#

unevaluatedProperties: false


Okay.

+...

Please do not drop the example :)


As per my understanding on Rob's comments [1] I have added one complete example in qcom,pm8941-pwrkey.yaml (see patch 4/4) and dropped it here.

[1] https://lore.kernel.org/patchwork/patch/1390062/#1588027

-- Sebastian

Thanks,
Satya Priya