diff mbox series

[RESEND,v2,1/3] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema

Message ID 20210924071614.868307-1-maxime@cerno.tech
State New
Headers show
Series [RESEND,v2,1/3] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema | expand

Commit Message

Maxime Ripard Sept. 24, 2021, 7:16 a.m. UTC
The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
thanks to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

---

Changes from v1:
  - Removed the example and moved it in the mfd schema
---
 .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
 .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
 2 files changed, 55 insertions(+), 75 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml

Comments

Chen-Yu Tsai Sept. 26, 2021, 3:13 p.m. UTC | #1
On Fri, Sep 24, 2021 at 3:16 PM Maxime Ripard <maxime@cerno.tech> wrote:
>
> The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> thanks to its device tree binding.
>
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
>
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-gpio@vger.kernel.org
> Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>

Acked-by: Chen-Yu Tsai <wens@csie.org>
Rob Herring Oct. 12, 2021, 2:04 p.m. UTC | #2
On Fri, Sep 24, 2021 at 2:16 AM Maxime Ripard <maxime@cerno.tech> wrote:
>
> The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> thanks to its device tree binding.
>
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
>
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-gpio@vger.kernel.org
> Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
>
> ---
>
> Changes from v1:
>   - Removed the example and moved it in the mfd schema
> ---
>  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
>  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
>  2 files changed, 55 insertions(+), 75 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
>  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml

This one not being applied with the rest of the series is also
breaking linux-next.

b4 am -P_ -sl -o - 20210924071614.868307-1-maxime@cerno.tech | git am
Lee Jones Oct. 12, 2021, 2:50 p.m. UTC | #3
On Tue, 12 Oct 2021, Rob Herring wrote:

> On Fri, Sep 24, 2021 at 2:16 AM Maxime Ripard <maxime@cerno.tech> wrote:
> >
> > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > thanks to its device tree binding.
> >
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> >
> > Cc: Chen-Yu Tsai <wens@csie.org>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: linux-gpio@vger.kernel.org
> > Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> >
> > ---
> >
> > Changes from v1:
> >   - Removed the example and moved it in the mfd schema
> > ---
> >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
> >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
> >  2 files changed, 55 insertions(+), 75 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> 
> This one not being applied with the rest of the series is also
> breaking linux-next.
> 
> b4 am -P_ -sl -o - 20210924071614.868307-1-maxime@cerno.tech | git am

Thanks for the link.

Seeing as there are no *real* dependencies, it would be better for
Linus to take the patch (if he's okay with it of course).
Rob Herring Oct. 12, 2021, 3:43 p.m. UTC | #4
On Tue, Oct 12, 2021 at 9:51 AM Lee Jones <lee.jones@linaro.org> wrote:
>
> On Tue, 12 Oct 2021, Rob Herring wrote:
>
> > On Fri, Sep 24, 2021 at 2:16 AM Maxime Ripard <maxime@cerno.tech> wrote:
> > >
> > > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > > thanks to its device tree binding.
> > >
> > > Now that we have the DT validation in place, let's convert the device
> > > tree bindings for that driver over to a YAML schema.
> > >
> > > Cc: Chen-Yu Tsai <wens@csie.org>
> > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > Cc: linux-gpio@vger.kernel.org
> > > Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > >
> > > ---
> > >
> > > Changes from v1:
> > >   - Removed the example and moved it in the mfd schema
> > > ---
> > >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
> > >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
> > >  2 files changed, 55 insertions(+), 75 deletions(-)
> > >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> > >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> >
> > This one not being applied with the rest of the series is also
> > breaking linux-next.
> >
> > b4 am -P_ -sl -o - 20210924071614.868307-1-maxime@cerno.tech | git am
>
> Thanks for the link.
>
> Seeing as there are no *real* dependencies, it would be better for
> Linus to take the patch (if he's okay with it of course).

Only that 'make dt_binding_check' is broken for anyone using your
branch (and linux-next ATM). It's as real as a broken build due to a
missing header. If you don't think this is a problem, then don't apply
MFD binding patches.

Rob
Lee Jones Oct. 12, 2021, 3:51 p.m. UTC | #5
On Tue, 12 Oct 2021, Rob Herring wrote:

> On Tue, Oct 12, 2021 at 9:51 AM Lee Jones <lee.jones@linaro.org> wrote:
> >
> > On Tue, 12 Oct 2021, Rob Herring wrote:
> >
> > > On Fri, Sep 24, 2021 at 2:16 AM Maxime Ripard <maxime@cerno.tech> wrote:
> > > >
> > > > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > > > thanks to its device tree binding.
> > > >
> > > > Now that we have the DT validation in place, let's convert the device
> > > > tree bindings for that driver over to a YAML schema.
> > > >
> > > > Cc: Chen-Yu Tsai <wens@csie.org>
> > > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > > Cc: linux-gpio@vger.kernel.org
> > > > Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > >
> > > > ---
> > > >
> > > > Changes from v1:
> > > >   - Removed the example and moved it in the mfd schema
> > > > ---
> > > >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
> > > >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
> > > >  2 files changed, 55 insertions(+), 75 deletions(-)
> > > >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> > > >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> > >
> > > This one not being applied with the rest of the series is also
> > > breaking linux-next.
> > >
> > > b4 am -P_ -sl -o - 20210924071614.868307-1-maxime@cerno.tech | git am
> >
> > Thanks for the link.
> >
> > Seeing as there are no *real* dependencies, it would be better for
> > Linus to take the patch (if he's okay with it of course).
> 
> Only that 'make dt_binding_check' is broken for anyone using your
> branch (and linux-next ATM). It's as real as a broken build due to a
> missing header. If you don't think this is a problem, then don't apply
> MFD binding patches.

Ah, I missed Bartosz Ack up there.

Happy to apply it.
Lee Jones Oct. 12, 2021, 3:52 p.m. UTC | #6
On Tue, 12 Oct 2021, Lee Jones wrote:

> On Tue, 12 Oct 2021, Rob Herring wrote:
> 
> > On Tue, Oct 12, 2021 at 9:51 AM Lee Jones <lee.jones@linaro.org> wrote:
> > >
> > > On Tue, 12 Oct 2021, Rob Herring wrote:
> > >
> > > > On Fri, Sep 24, 2021 at 2:16 AM Maxime Ripard <maxime@cerno.tech> wrote:
> > > > >
> > > > > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > > > > thanks to its device tree binding.
> > > > >
> > > > > Now that we have the DT validation in place, let's convert the device
> > > > > tree bindings for that driver over to a YAML schema.
> > > > >
> > > > > Cc: Chen-Yu Tsai <wens@csie.org>
> > > > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > > > Cc: linux-gpio@vger.kernel.org
> > > > > Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > > >
> > > > > ---
> > > > >
> > > > > Changes from v1:
> > > > >   - Removed the example and moved it in the mfd schema
> > > > > ---
> > > > >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
> > > > >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
> > > > >  2 files changed, 55 insertions(+), 75 deletions(-)
> > > > >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> > > > >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> > > >
> > > > This one not being applied with the rest of the series is also
> > > > breaking linux-next.
> > > >
> > > > b4 am -P_ -sl -o - 20210924071614.868307-1-maxime@cerno.tech | git am
> > >
> > > Thanks for the link.
> > >
> > > Seeing as there are no *real* dependencies, it would be better for
> > > Linus to take the patch (if he's okay with it of course).
> > 
> > Only that 'make dt_binding_check' is broken for anyone using your
> > branch (and linux-next ATM). It's as real as a broken build due to a
> > missing header. If you don't think this is a problem, then don't apply
> > MFD binding patches.
> 
> Ah, I missed Bartosz Ack up there.
> 
> Happy to apply it.

Linus, Bartosz, do you require a PR?
Linus Walleij Oct. 13, 2021, 11:35 p.m. UTC | #7
On Tue, Oct 12, 2021 at 5:52 PM Lee Jones <lee.jones@linaro.org> wrote:
> On Tue, 12 Oct 2021, Lee Jones wrote:
> > On Tue, 12 Oct 2021, Rob Herring wrote:

> > Ah, I missed Bartosz Ack up there.
> >
> > Happy to apply it.
>
> Linus, Bartosz, do you require a PR?

I'm a bit out of the loop so let Bartosz answer this but generally
not, as long as your tree builds clean we are happy!

Yours,
Linus Walleij
Lee Jones Oct. 14, 2021, 6:41 a.m. UTC | #8
On Fri, 24 Sep 2021, Maxime Ripard wrote:

> The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> thanks to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-gpio@vger.kernel.org
> Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> 
> ---
> 
> Changes from v1:
>   - Removed the example and moved it in the mfd schema
> ---
>  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
>  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
>  2 files changed, 55 insertions(+), 75 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
>  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml

Applied, thanks.
Rob Herring Oct. 20, 2021, 3:01 p.m. UTC | #9
On Thu, Oct 14, 2021 at 1:41 AM Lee Jones <lee.jones@linaro.org> wrote:
>
> On Fri, 24 Sep 2021, Maxime Ripard wrote:
>
> > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > thanks to its device tree binding.
> >
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> >
> > Cc: Chen-Yu Tsai <wens@csie.org>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: linux-gpio@vger.kernel.org
> > Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> >
> > ---
> >
> > Changes from v1:
> >   - Removed the example and moved it in the mfd schema
> > ---
> >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
> >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
> >  2 files changed, 55 insertions(+), 75 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
>
> Applied, thanks.

Pushed out? Still failing in linux-next.

Rob
Lee Jones Oct. 20, 2021, 4:02 p.m. UTC | #10
On Wed, 20 Oct 2021, Rob Herring wrote:

> On Thu, Oct 14, 2021 at 1:41 AM Lee Jones <lee.jones@linaro.org> wrote:
> >
> > On Fri, 24 Sep 2021, Maxime Ripard wrote:
> >
> > > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > > thanks to its device tree binding.
> > >
> > > Now that we have the DT validation in place, let's convert the device
> > > tree bindings for that driver over to a YAML schema.
> > >
> > > Cc: Chen-Yu Tsai <wens@csie.org>
> > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > Cc: linux-gpio@vger.kernel.org
> > > Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > >
> > > ---
> > >
> > > Changes from v1:
> > >   - Removed the example and moved it in the mfd schema
> > > ---
> > >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -------------------
> > >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 55 ++++++++++++++
> > >  2 files changed, 55 insertions(+), 75 deletions(-)
> > >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> > >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> >
> > Applied, thanks.
> 
> Pushed out? Still failing in linux-next.

No, but I did a push ~10mins ago, so will be in -next on the morrow.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
deleted file mode 100644
index fc42b2caa06d..000000000000
--- a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
+++ /dev/null
@@ -1,75 +0,0 @@ 
-AXP209 GPIO & pinctrl controller
-
-This driver follows the usual GPIO bindings found in
-Documentation/devicetree/bindings/gpio/gpio.txt
-
-This driver follows the usual pinctrl bindings found in
-Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
-
-This driver employs the per-pin muxing pattern.
-
-Required properties:
-- compatible: Should be one of:
-	- "x-powers,axp209-gpio"
-	- "x-powers,axp813-gpio"
-- #gpio-cells: Should be two. The first cell is the pin number and the
-  second is the GPIO flags.
-- gpio-controller: Marks the device node as a GPIO controller.
-
-This node must be a subnode of the axp20x PMIC, documented in
-Documentation/devicetree/bindings/mfd/axp20x.txt
-
-Example:
-
-axp209: pmic@34 {
-	compatible = "x-powers,axp209";
-	reg = <0x34>;
-	interrupt-parent = <&nmi_intc>;
-	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	interrupt-controller;
-	#interrupt-cells = <1>;
-
-	axp_gpio: gpio {
-		compatible = "x-powers,axp209-gpio";
-		gpio-controller;
-		#gpio-cells = <2>;
-	};
-};
-
-The GPIOs can be muxed to other functions and therefore, must be a subnode of
-axp_gpio.
-
-Example:
-
-&axp_gpio {
-	gpio0_adc: gpio0-adc {
-		pins = "GPIO0";
-		function = "adc";
-	};
-};
-
-&example_node {
-	pinctrl-names = "default";
-	pinctrl-0 = <&gpio0_adc>;
-};
-
-GPIOs and their functions
--------------------------
-
-Each GPIO is independent from the other (i.e. GPIO0 in gpio_in function does
-not force GPIO1 and GPIO2 to be in gpio_in function as well).
-
-axp209
-------
-GPIO	|	Functions
-------------------------
-GPIO0	|	gpio_in, gpio_out, ldo, adc
-GPIO1	|	gpio_in, gpio_out, ldo, adc
-GPIO2	|	gpio_in, gpio_out
-
-axp813
-------
-GPIO	|	Functions
-------------------------
-GPIO0	|	gpio_in, gpio_out, ldo, adc
-GPIO1	|	gpio_in, gpio_out, ldo
diff --git a/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml b/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
new file mode 100644
index 000000000000..0f628b088cec
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
@@ -0,0 +1,55 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/gpio/x-powers,axp209-gpio.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: X-Powers AXP209 GPIO Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+properties:
+  "#gpio-cells":
+    const: 2
+    description: >
+      The first cell is the pin number and the second is the GPIO flags.
+
+  compatible:
+    oneOf:
+      - enum:
+          - x-powers,axp209-gpio
+          - x-powers,axp813-gpio
+      - items:
+          - const: x-powers,axp803-gpio
+          - const: x-powers,axp813-gpio
+
+  gpio-controller: true
+
+patternProperties:
+  "^.*-pins?$":
+    $ref: /schemas/pinctrl/pinmux-node.yaml#
+
+    properties:
+      pins:
+        items:
+          enum:
+            - GPIO0
+            - GPIO1
+            - GPIO2
+
+      function:
+        enum:
+          - adc
+          - ldo
+          - gpio_in
+          - gpio_out
+
+required:
+  - compatible
+  - "#gpio-cells"
+  - gpio-controller
+
+additionalProperties: false
+
+...