diff mbox series

[V2,4/4] dt-bindings: input: pm8941-pwrkey: Convert pm8941 power key binding to yaml

Message ID 1617881469-31965-5-git-send-email-skakit@codeaurora.org
State Superseded
Headers show
Series None | expand

Commit Message

Satya Priya April 8, 2021, 11:31 a.m. UTC
Convert qcom pm8941 power key binding from .txt to .yaml format.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
Changes in V2:
 - Fixed bot errors, took reference from input.yaml for "linux,code"
 - Added one complete example for powerkey and resin, and referenced it
   in main PON binding.
 - Moved this patch to the end of the series.

 .../bindings/input/qcom,pm8941-pwrkey.txt          | 55 --------------
 .../bindings/input/qcom,pm8941-pwrkey.yaml         | 88 ++++++++++++++++++++++
 2 files changed, 88 insertions(+), 55 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
 create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml

Comments

Rob Herring April 9, 2021, 6:50 p.m. UTC | #1
On Thu, Apr 08, 2021 at 05:01:09PM +0530, satya priya wrote:
> Convert qcom pm8941 power key binding from .txt to .yaml format.

> 

> Signed-off-by: satya priya <skakit@codeaurora.org>

> ---

> Changes in V2:

>  - Fixed bot errors, took reference from input.yaml for "linux,code"

>  - Added one complete example for powerkey and resin, and referenced it

>    in main PON binding.

>  - Moved this patch to the end of the series.

> 

>  .../bindings/input/qcom,pm8941-pwrkey.txt          | 55 --------------

>  .../bindings/input/qcom,pm8941-pwrkey.yaml         | 88 ++++++++++++++++++++++

>  2 files changed, 88 insertions(+), 55 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt

>  create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml



> diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml

> new file mode 100644

> index 0000000..fb6cbe8

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml

> @@ -0,0 +1,88 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/input/qcom,pm8941-pwrkey.yaml#

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

> +

> +title: Qualcomm PM8941 PMIC Power Key

> +

> +maintainers:

> +  - Courtney Cavin <courtney.cavin@sonymobile.com>

> +  - Vinod Koul <vkoul@kernel.org>

> +

> +properties:

> +  compatible:

> +    enum:

> +      - qcom,pm8941-pwrkey

> +      - qcom,pm8941-resin

> +      - qcom,pmk8350-pwrkey

> +      - qcom,pmk8350-resin

> +

> +  interrupts:


How many?

> +    description: |

> +          Key change interrupt; The format of the specifier is

> +          defined by the binding document describing the node's

> +          interrupt parent.


The 2nd sentence is every 'interrupts' property. Drop.

> +

> +  debounce:

> +    description: |

> +          Time in microseconds that key must be pressed or

> +          released for state change interrupt to trigger.

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

> +

> +  bias-pull-up:

> +    description: |

> +           Presence of this property indicates that the KPDPWR_N

> +           pin should be configured for pull up.

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

> +

> +  linux,code:

> +    description: |

> +           The input key-code associated with the power key.

> +           Use the linux event codes defined in

> +           include/dt-bindings/input/linux-event-codes.h

> +           When property is omitted KEY_POWER is assumed.

> +    $ref: "input.yaml#"


You've just defined that 'linux,code' is a node with properties defined 
in input.yaml. Need to move this up to the top level.

> +

> +required:

> +  - compatible

> +  - interrupts

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +   #include <dt-bindings/interrupt-controller/irq.h>

> +   #include <dt-bindings/input/linux-event-codes.h>

> +   #include <dt-bindings/spmi/spmi.h>

> +   spmi_bus: spmi@c440000 {

> +     reg = <0x0c440000 0x1100>;

> +     #address-cells = <2>;

> +     #size-cells = <0>;

> +     pmk8350: pmic@0 {

> +       reg = <0x0 SPMI_USID>;

> +       #address-cells = <1>;

> +       #size-cells = <0>;

> +       pmk8350_pon: pon_hlos@1300 {

> +         reg = <0x1300>;

> +         compatible = "qcom,pm8998-pon";

> +

> +         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>;

> +         };

> +       };

> +     };

> +   };

> +...

> -- 

> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 

> of Code Aurora Forum, hosted by The Linux Foundation

>
Satya Priya April 21, 2021, 6:23 a.m. UTC | #2
Hi Rob,

On 2021-04-10 00:20, Rob Herring wrote:
> On Thu, Apr 08, 2021 at 05:01:09PM +0530, satya priya wrote:
>> Convert qcom pm8941 power key binding from .txt to .yaml format.
>> 
>> Signed-off-by: satya priya <skakit@codeaurora.org>
[...]
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - qcom,pm8941-pwrkey
>> +      - qcom,pm8941-resin
>> +      - qcom,pmk8350-pwrkey
>> +      - qcom,pmk8350-resin
>> +
>> +  interrupts:
> 
> How many?
> 

ok, will add maxItems.

>> +    description: |
>> +          Key change interrupt; The format of the specifier is
>> +          defined by the binding document describing the node's
>> +          interrupt parent.
> 
> The 2nd sentence is every 'interrupts' property. Drop.
> 

Will remove the description.

>> +
>> +  debounce:
>> +    description: |
>> +          Time in microseconds that key must be pressed or
>> +          released for state change interrupt to trigger.
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +
>> +  bias-pull-up:
>> +    description: |
>> +           Presence of this property indicates that the KPDPWR_N
>> +           pin should be configured for pull up.
>> +    $ref: /schemas/types.yaml#/definitions/flag
>> +
>> +  linux,code:
>> +    description: |
>> +           The input key-code associated with the power key.
>> +           Use the linux event codes defined in
>> +           include/dt-bindings/input/linux-event-codes.h
>> +           When property is omitted KEY_POWER is assumed.
>> +    $ref: "input.yaml#"
> 
> You've just defined that 'linux,code' is a node with properties defined
> in input.yaml. Need to move this up to the top level.
> 

allOf:
   $ref: "input.yaml#"
That means I should add like this at the beginning? please correct me if 
wrong.

>> +
>> +required:
>> +  - compatible
>> +  - interrupts
>> +
>> +additionalProperties: false
[...]

Thanks,
Satya Priya
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
deleted file mode 100644
index 6cd08bc..0000000
--- a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt
+++ /dev/null
@@ -1,55 +0,0 @@ 
-Qualcomm PM8941 PMIC Power Key
-
-PROPERTIES
-
-- compatible:
-	Usage: required
-	Value type: <string>
-	Definition: must be one of:
-		    "qcom,pm8941-pwrkey"
-		    "qcom,pm8941-resin"
-		    "qcom,pmk8350-pwrkey"
-		    "qcom,pmk8350-resin"
-
-- reg:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: base address of registers for block
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: key change interrupt; The format of the specifier is
-		    defined by the binding document describing the node's
-		    interrupt parent.
-
-- debounce:
-	Usage: optional
-	Value type: <u32>
-	Definition: time in microseconds that key must be pressed or released
-		    for state change interrupt to trigger.
-
-- bias-pull-up:
-	Usage: optional
-	Value type: <empty>
-	Definition: presence of this property indicates that the KPDPWR_N pin
-		    should be configured for pull up.
-
-- linux,code:
-	Usage: optional
-	Value type: <u32>
-	Definition: The input key-code associated with the power key.
-		    Use the linux event codes defined in
-		    include/dt-bindings/input/linux-event-codes.h
-		    When property is omitted KEY_POWER is assumed.
-
-EXAMPLE
-
-	pwrkey@800 {
-		compatible = "qcom,pm8941-pwrkey";
-		reg = <0x800>;
-		interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
-		debounce = <15625>;
-		bias-pull-up;
-		linux,code = <KEY_POWER>;
-	};
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
new file mode 100644
index 0000000..fb6cbe8
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.yaml
@@ -0,0 +1,88 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/qcom,pm8941-pwrkey.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PM8941 PMIC Power Key
+
+maintainers:
+  - Courtney Cavin <courtney.cavin@sonymobile.com>
+  - Vinod Koul <vkoul@kernel.org>
+
+properties:
+  compatible:
+    enum:
+      - qcom,pm8941-pwrkey
+      - qcom,pm8941-resin
+      - qcom,pmk8350-pwrkey
+      - qcom,pmk8350-resin
+
+  interrupts:
+    description: |
+          Key change interrupt; The format of the specifier is
+          defined by the binding document describing the node's
+          interrupt parent.
+
+  debounce:
+    description: |
+          Time in microseconds that key must be pressed or
+          released for state change interrupt to trigger.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  bias-pull-up:
+    description: |
+           Presence of this property indicates that the KPDPWR_N
+           pin should be configured for pull up.
+    $ref: /schemas/types.yaml#/definitions/flag
+
+  linux,code:
+    description: |
+           The input key-code associated with the power key.
+           Use the linux event codes defined in
+           include/dt-bindings/input/linux-event-codes.h
+           When property is omitted KEY_POWER is assumed.
+    $ref: "input.yaml#"
+
+required:
+  - compatible
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+   #include <dt-bindings/interrupt-controller/irq.h>
+   #include <dt-bindings/input/linux-event-codes.h>
+   #include <dt-bindings/spmi/spmi.h>
+   spmi_bus: spmi@c440000 {
+     reg = <0x0c440000 0x1100>;
+     #address-cells = <2>;
+     #size-cells = <0>;
+     pmk8350: pmic@0 {
+       reg = <0x0 SPMI_USID>;
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pmk8350_pon: pon_hlos@1300 {
+         reg = <0x1300>;
+         compatible = "qcom,pm8998-pon";
+
+         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>;
+         };
+       };
+     };
+   };
+...