Thread (15 messages) 15 messages, 4 authors, 2019-10-16

Re: [PATCH v2 1/6] dt-bindings: mfd: max77650: convert the binding document to yaml

From: Rob Herring <robh+dt@kernel.org>
Date: 2019-10-15 21:13:18
Also in: linux-leds, linux-pm, lkml

On Tue, Oct 15, 2019 at 11:23 AM Bartosz Golaszewski [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Bartosz Golaszewski <redacted>

Convert the binding document for MAX77650 core MFD module to YAML.

Signed-off-by: Bartosz Golaszewski <redacted>
---
 .../devicetree/bindings/mfd/max77650.txt      | 47 +----------
 .../devicetree/bindings/mfd/max77650.yaml     | 83 +++++++++++++++++++
 2 files changed, 84 insertions(+), 46 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/max77650.yaml
diff --git a/Documentation/devicetree/bindings/mfd/max77650.txt b/Documentation/devicetree/bindings/mfd/max77650.txt
index b529d8d19335..080871686b3b 100644
--- a/Documentation/devicetree/bindings/mfd/max77650.txt
+++ b/Documentation/devicetree/bindings/mfd/max77650.txt
@@ -1,46 +1 @@
-MAX77650 ultra low-power PMIC from Maxim Integrated.
-
-Required properties:
--------------------
-- compatible:          Must be "maxim,max77650"
-- reg:                 I2C device address.
-- interrupts:          The interrupt on the parent the controller is
-                       connected to.
-- interrupt-controller: Marks the device node as an interrupt controller.
-- #interrupt-cells:    Must be <2>.
-
-- gpio-controller:     Marks the device node as a gpio controller.
-- #gpio-cells:         Must be <2>. The first cell is the pin number and
-                       the second cell is used to specify the gpio active
-                       state.
-
-Optional properties:
---------------------
-gpio-line-names:       Single string containing the name of the GPIO line.
-
-The GPIO-controller module is represented as part of the top-level PMIC
-node. The device exposes a single GPIO line.
-
-For device-tree bindings of other sub-modules (regulator, power supply,
-LEDs and onkey) refer to the binding documents under the respective
-sub-system directories.
-
-For more details on GPIO bindings, please refer to the generic GPIO DT
-binding document <devicetree/bindings/gpio/gpio.txt>.
-
-Example:
---------
-
-       pmic@48 {
-               compatible = "maxim,max77650";
-               reg = <0x48>;
-
-               interrupt-controller;
-               interrupt-parent = <&gpio2>;
-               #interrupt-cells = <2>;
-               interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
-
-               gpio-controller;
-               #gpio-cells = <2>;
-               gpio-line-names = "max77650-charger";
-       };
+This file has been moved to max77650.yaml.
We do this for common files with lots of references. I don't think
that applies here.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/devicetree/bindings/mfd/max77650.yaml b/Documentation/devicetree/bindings/mfd/max77650.yaml
new file mode 100644
index 000000000000..5186ad287ec7
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/max77650.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/max77650.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MAX77650 ultra low-power PMIC from Maxim Integrated.
+
+maintainers:
+  - Bartosz Golaszewski <bgolaszewski@baylibre.com>
+
+description: |
+  This document describes the DT properties of the core MFD controller.
+
+  The GPIO-controller module is represented as part of the top-level PMIC
+  node. The device exposes a single GPIO line.
+
+  For device-tree bindings of other sub-modules (regulator, power supply,
+  LEDs and onkey) refer to the binding documents under the respective
+  sub-system directories.
+
+  For more details on GPIO bindings, please refer to the generic GPIO DT
+  binding document <devicetree/bindings/gpio/gpio.txt>.
+
+properties:
+  compatible:
+    const: maxim,max77650
+
+  reg:
+    description:
+      I2C device address.
+    maxItems: 1
+
+  interrupts:
+    description:
+      The interrupt on the parent the controller is connected to.
No need for 'description' if there's only one entry and you have
nothing specific about this device.
+    maxItems: 1
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    const: 2
+    description:
+      The first cell is the IRQ number, the second cell is the trigger type.
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 2
+    description:
+      The first cell is the pin number and the second cell is used to specify
+      the gpio active state.
+
+  gpio-line-names:
+    $ref: '/schemas/types.yaml#/definitions/string-array'
*-names already has a type, so you can drop this.
+    maxItems: 1
+    description:
+      Single string containing the name of the GPIO line.
You need to link all the child node schemas into here. Something like this:

onkey:
  $ref: ../input/max77650-onkey.yaml
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - interrupt-controller
+  - "#interrupt-cells"
+  - gpio-controller
+  - "#gpio-cells"
+
+examples:
+  - |
+    pmic@48 {
+        compatible = "maxim,max77650";
+        reg = <0x48>;
+
+        interrupt-controller;
+        interrupt-parent = <&gpio2>;
+        #interrupt-cells = <2>;
+        interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+
+        gpio-controller;
+        #gpio-cells = <2>;
+        gpio-line-names = "max77650-charger";
I'd prefer to see a complete example here rather than piecemeal
examples scattered.

Rob
+    };
--
2.23.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help