diff mbox series

[2/3] dt-bindings: gpio: Convert UniPhier GPIO to json-schema

Message ID 20200221021002.18795-2-yamada.masahiro@socionext.com
State Changes Requested, archived
Headers show
Series [1/3] dt-bindings: arm: Convert UniPhier board/SoC bindings to json-schema | expand

Checks

Context Check Description
robh/checkpatch warning "total: 0 errors, 2 warnings, 97 lines checked"
robh/dt-meta-schema fail build log

Commit Message

Masahiro Yamada Feb. 21, 2020, 2:10 a.m. UTC
Convert the UniPhier GPIO controller binding to DT schema format.

I omitted the 'gpio-ranges' property because it is defined in the
dt-schema project (/schemas/gpio/gpio.yaml).

As of writing, the 'gpio-ranges-group-names' is not defined in that
file despite it is a common property described in
Documentation/devicetree/bindings/gpio/gpio.txt
So, I defined it in this schema.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

I have a question about the range about 'ngpio'.

  ngpios:
    minimum: 0
    maximum: 512

The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20

'uint32' is unsigned, so 'minimum: 0' looks too obvious.

I cannot omit the minimum because minimum and maximum depend on each other.
I just put a sensible number, 512, in maximum.

If this range is entirely unneeded, I will delete it.


 .../bindings/gpio/gpio-uniphier.txt           | 51 -----------
 .../gpio/socionext,uniphier-gpio.yaml         | 89 +++++++++++++++++++
 MAINTAINERS                                   |  2 +-
 3 files changed, 90 insertions(+), 52 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml

Comments

Rob Herring (Arm) Feb. 21, 2020, 3:32 p.m. UTC | #1
On Fri, 21 Feb 2020 11:10:01 +0900, Masahiro Yamada wrote:
> Convert the UniPhier GPIO controller binding to DT schema format.
> 
> I omitted the 'gpio-ranges' property because it is defined in the
> dt-schema project (/schemas/gpio/gpio.yaml).
> 
> As of writing, the 'gpio-ranges-group-names' is not defined in that
> file despite it is a common property described in
> Documentation/devicetree/bindings/gpio/gpio.txt
> So, I defined it in this schema.
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
> 
> I have a question about the range about 'ngpio'.
> 
>   ngpios:
>     minimum: 0
>     maximum: 512
> 
> The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
> https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20
> 
> 'uint32' is unsigned, so 'minimum: 0' looks too obvious.
> 
> I cannot omit the minimum because minimum and maximum depend on each other.
> I just put a sensible number, 512, in maximum.
> 
> If this range is entirely unneeded, I will delete it.

This property is generally for when you can have some number less 
than a maximum number implied by the compatible string. 

If there is really no max (e.g. 2^32 - 1 is valid), then just do 
'ngpios: true'

> 
> 
>  .../bindings/gpio/gpio-uniphier.txt           | 51 -----------
>  .../gpio/socionext,uniphier-gpio.yaml         | 89 +++++++++++++++++++
>  MAINTAINERS                                   |  2 +-
>  3 files changed, 90 insertions(+), 52 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
>  create mode 100644 Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

Documentation/devicetree/bindings/display/simple-framebuffer.example.dts:21.16-37.11: Warning (chosen_node_is_root): /example-0/chosen: chosen node must be at root node
Error: Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dts:38.34-35 syntax error
FATAL ERROR: Unable to parse input tree
scripts/Makefile.lib:300: recipe for target 'Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dt.yaml' failed
make[1]: *** [Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dt.yaml] Error 1
Makefile:1263: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2

See https://patchwork.ozlabs.org/patch/1241747
Please check and re-submit.
Masahiro Yamada Feb. 22, 2020, 5:32 a.m. UTC | #2
Hi Rob,

On Sat, Feb 22, 2020 at 12:32 AM Rob Herring <robh@kernel.org> wrote:
>
> On Fri, 21 Feb 2020 11:10:01 +0900, Masahiro Yamada wrote:
> > Convert the UniPhier GPIO controller binding to DT schema format.
> >
> > I omitted the 'gpio-ranges' property because it is defined in the
> > dt-schema project (/schemas/gpio/gpio.yaml).
> >
> > As of writing, the 'gpio-ranges-group-names' is not defined in that
> > file despite it is a common property described in
> > Documentation/devicetree/bindings/gpio/gpio.txt
> > So, I defined it in this schema.
> >
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > ---
> >
> > I have a question about the range about 'ngpio'.
> >
> >   ngpios:
> >     minimum: 0
> >     maximum: 512
> >
> > The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
> > https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20
> >
> > 'uint32' is unsigned, so 'minimum: 0' looks too obvious.
> >
> > I cannot omit the minimum because minimum and maximum depend on each other.
> > I just put a sensible number, 512, in maximum.
> >
> > If this range is entirely unneeded, I will delete it.
>
> This property is generally for when you can have some number less
> than a maximum number implied by the compatible string.
>
> If there is really no max (e.g. 2^32 - 1 is valid), then just do
> 'ngpios: true'


What does ': true' mean?


If it is documented somewhere,
could you point me to the reference?

Even if I remove the 'ngpio' entirely
from my dt-schema, the 'ngpio' is checked
correctly.




>
> >
> >
> >  .../bindings/gpio/gpio-uniphier.txt           | 51 -----------
> >  .../gpio/socionext,uniphier-gpio.yaml         | 89 +++++++++++++++++++
> >  MAINTAINERS                                   |  2 +-
> >  3 files changed, 90 insertions(+), 52 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
> >  create mode 100644 Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
> >
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> Documentation/devicetree/bindings/display/simple-framebuffer.example.dts:21.16-37.11: Warning (chosen_node_is_root): /example-0/chosen: chosen node must be at root node
> Error: Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dts:38.34-35 syntax error
> FATAL ERROR: Unable to parse input tree
> scripts/Makefile.lib:300: recipe for target 'Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dt.yaml' failed
> make[1]: *** [Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.example.dt.yaml] Error 1
> Makefile:1263: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2
>
> See https://patchwork.ozlabs.org/patch/1241747
> Please check and re-submit.

OK, I will.
Rob Herring (Arm) Feb. 24, 2020, 2:51 p.m. UTC | #3
On Fri, Feb 21, 2020 at 11:33 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Hi Rob,
>
> On Sat, Feb 22, 2020 at 12:32 AM Rob Herring <robh@kernel.org> wrote:
> >
> > On Fri, 21 Feb 2020 11:10:01 +0900, Masahiro Yamada wrote:
> > > Convert the UniPhier GPIO controller binding to DT schema format.
> > >
> > > I omitted the 'gpio-ranges' property because it is defined in the
> > > dt-schema project (/schemas/gpio/gpio.yaml).
> > >
> > > As of writing, the 'gpio-ranges-group-names' is not defined in that
> > > file despite it is a common property described in
> > > Documentation/devicetree/bindings/gpio/gpio.txt
> > > So, I defined it in this schema.
> > >
> > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > ---
> > >
> > > I have a question about the range about 'ngpio'.
> > >
> > >   ngpios:
> > >     minimum: 0
> > >     maximum: 512
> > >
> > > The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
> > > https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20
> > >
> > > 'uint32' is unsigned, so 'minimum: 0' looks too obvious.
> > >
> > > I cannot omit the minimum because minimum and maximum depend on each other.
> > > I just put a sensible number, 512, in maximum.
> > >
> > > If this range is entirely unneeded, I will delete it.
> >
> > This property is generally for when you can have some number less
> > than a maximum number implied by the compatible string.
> >
> > If there is really no max (e.g. 2^32 - 1 is valid), then just do
> > 'ngpios: true'
>
>
> What does ': true' mean?

It's a schema that always passes validation. It's purpose here is just
to say you are using this common property for this binding.

>
> If it is documented somewhere,
> could you point me to the reference?

https://github.com/devicetree-org/dt-schema/blob/master/schemas/gpio/gpio.yaml

>
> Even if I remove the 'ngpio' entirely
> from my dt-schema, the 'ngpio' is checked
> correctly.

Yes, if you change it to a string value for example, it should fail.
(Only if DT_SCHEMA_FILES is not set without my kbuild changes)

You should also add 'additionalProperties: false' at the top level of
your schema and then it will also fail if you don't list ngpios in
properties.

Rob
Masahiro Yamada Feb. 24, 2020, 3:59 p.m. UTC | #4
Hi Rob,

On Mon, Feb 24, 2020 at 11:52 PM Rob Herring <robh@kernel.org> wrote:
>
> On Fri, Feb 21, 2020 at 11:33 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > Hi Rob,
> >
> > On Sat, Feb 22, 2020 at 12:32 AM Rob Herring <robh@kernel.org> wrote:
> > >
> > > On Fri, 21 Feb 2020 11:10:01 +0900, Masahiro Yamada wrote:
> > > > Convert the UniPhier GPIO controller binding to DT schema format.
> > > >
> > > > I omitted the 'gpio-ranges' property because it is defined in the
> > > > dt-schema project (/schemas/gpio/gpio.yaml).
> > > >
> > > > As of writing, the 'gpio-ranges-group-names' is not defined in that
> > > > file despite it is a common property described in
> > > > Documentation/devicetree/bindings/gpio/gpio.txt
> > > > So, I defined it in this schema.
> > > >
> > > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > > ---
> > > >
> > > > I have a question about the range about 'ngpio'.
> > > >
> > > >   ngpios:
> > > >     minimum: 0
> > > >     maximum: 512
> > > >
> > > > The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
> > > > https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20
> > > >
> > > > 'uint32' is unsigned, so 'minimum: 0' looks too obvious.
> > > >
> > > > I cannot omit the minimum because minimum and maximum depend on each other.
> > > > I just put a sensible number, 512, in maximum.
> > > >
> > > > If this range is entirely unneeded, I will delete it.
> > >
> > > This property is generally for when you can have some number less
> > > than a maximum number implied by the compatible string.
> > >
> > > If there is really no max (e.g. 2^32 - 1 is valid), then just do
> > > 'ngpios: true'
> >
> >
> > What does ': true' mean?
>
> It's a schema that always passes validation. It's purpose here is just
> to say you are using this common property for this binding.



OK, I see two useful cases:

[1]
Documenting purpose in order to clarify
that you are using this property

[2]
You need to explicitly specify ': true'
if you have 'additionalProperties: false' .
Otherwise, the following warning is displayed:
... do not match any of the regexes: 'pinctrl-[0-9]+'



For [1], it is already clear that this binding
is using ngpios from 'require'


require:
  - ngpios



> >
> > If it is documented somewhere,
> > could you point me to the reference?
>
> https://github.com/devicetree-org/dt-schema/blob/master/schemas/gpio/gpio.yaml
>
> >
> > Even if I remove the 'ngpio' entirely
> > from my dt-schema, the 'ngpio' is checked
> > correctly.
>
> Yes, if you change it to a string value for example, it should fail.
> (Only if DT_SCHEMA_FILES is not set without my kbuild changes)
>
> You should also add 'additionalProperties: false' at the top level of
> your schema and then it will also fail if you don't list ngpios in
> properties.

Hmm, I am confused.

'require: - ngpios' will warn if you don't list ngpios.

'additionalProperties: false' will warn if you list
other properties than what is explicitly specified.



BTW, I will not add 'additionalProperties: false'
in this binding.


The real DT files have

 interrupt-parent = <&aidet>;
(arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi line 324)

but, commit 791d3ef2e11100449837dc0b6fe884e60ca3a484
removed interrupt-parent from bindings.





--
Best Regards
Masahiro Yamada
Rob Herring (Arm) Feb. 24, 2020, 9:18 p.m. UTC | #5
On Mon, Feb 24, 2020 at 10:00 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Hi Rob,
>
> On Mon, Feb 24, 2020 at 11:52 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Fri, Feb 21, 2020 at 11:33 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> > >
> > > Hi Rob,
> > >
> > > On Sat, Feb 22, 2020 at 12:32 AM Rob Herring <robh@kernel.org> wrote:
> > > >
> > > > On Fri, 21 Feb 2020 11:10:01 +0900, Masahiro Yamada wrote:
> > > > > Convert the UniPhier GPIO controller binding to DT schema format.
> > > > >
> > > > > I omitted the 'gpio-ranges' property because it is defined in the
> > > > > dt-schema project (/schemas/gpio/gpio.yaml).
> > > > >
> > > > > As of writing, the 'gpio-ranges-group-names' is not defined in that
> > > > > file despite it is a common property described in
> > > > > Documentation/devicetree/bindings/gpio/gpio.txt
> > > > > So, I defined it in this schema.
> > > > >
> > > > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > > > ---
> > > > >
> > > > > I have a question about the range about 'ngpio'.
> > > > >
> > > > >   ngpios:
> > > > >     minimum: 0
> > > > >     maximum: 512
> > > > >
> > > > > The 'ngpio' property is already defined as 'uint32' in the dt-schema tool:
> > > > > https://github.com/robherring/dt-schema/blob/master/schemas/gpio/gpio.yaml#L20
> > > > >
> > > > > 'uint32' is unsigned, so 'minimum: 0' looks too obvious.
> > > > >
> > > > > I cannot omit the minimum because minimum and maximum depend on each other.
> > > > > I just put a sensible number, 512, in maximum.
> > > > >
> > > > > If this range is entirely unneeded, I will delete it.
> > > >
> > > > This property is generally for when you can have some number less
> > > > than a maximum number implied by the compatible string.
> > > >
> > > > If there is really no max (e.g. 2^32 - 1 is valid), then just do
> > > > 'ngpios: true'
> > >
> > >
> > > What does ': true' mean?
> >
> > It's a schema that always passes validation. It's purpose here is just
> > to say you are using this common property for this binding.
>
>
>
> OK, I see two useful cases:
>
> [1]
> Documenting purpose in order to clarify
> that you are using this property
>
> [2]
> You need to explicitly specify ': true'
> if you have 'additionalProperties: false' .
> Otherwise, the following warning is displayed:
> ... do not match any of the regexes: 'pinctrl-[0-9]+'
>
>
>
> For [1], it is already clear that this binding
> is using ngpios from 'require'
>
>
> require:
>   - ngpios
>
>
>
> > >
> > > If it is documented somewhere,
> > > could you point me to the reference?
> >
> > https://github.com/devicetree-org/dt-schema/blob/master/schemas/gpio/gpio.yaml
> >
> > >
> > > Even if I remove the 'ngpio' entirely
> > > from my dt-schema, the 'ngpio' is checked
> > > correctly.
> >
> > Yes, if you change it to a string value for example, it should fail.
> > (Only if DT_SCHEMA_FILES is not set without my kbuild changes)
> >
> > You should also add 'additionalProperties: false' at the top level of
> > your schema and then it will also fail if you don't list ngpios in
> > properties.
>
> Hmm, I am confused.
>
> 'require: - ngpios' will warn if you don't list ngpios.
>
> 'additionalProperties: false' will warn if you list
> other properties than what is explicitly specified.

Yeah, that's a quirk of json-schema. We could probably ensure that
anything listed in 'required' also has a property schema, but in this
case I think it's better to be explicit.

Without 'additionalProperties: false', then the validation will pass
with a 'foo-bar' property. Or worse, typos like 'ngpio', 'nrgpios',
'#gpios-cells', etc. will pass validation.

> BTW, I will not add 'additionalProperties: false'
> in this binding.
>
>
> The real DT files have
>
>  interrupt-parent = <&aidet>;
> (arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi line 324)
>
> but, commit 791d3ef2e11100449837dc0b6fe884e60ca3a484
> removed interrupt-parent from bindings.

interrupt-parent is automagically added by the tools for any node with
'interrupts'. Similarly, 'interrupts-extended' will also work.

Rob

>
>
>
>
>
> --
> Best Regards
> Masahiro Yamada
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/gpio/gpio-uniphier.txt b/Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
deleted file mode 100644
index f281f12dac18..000000000000
--- a/Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
+++ /dev/null
@@ -1,51 +0,0 @@ 
-UniPhier GPIO controller
-
-Required properties:
-- compatible: Should be "socionext,uniphier-gpio".
-- reg: Specifies offset and length of the register set for the device.
-- gpio-controller: Marks the device node as a GPIO controller.
-- #gpio-cells: Should be 2.  The first cell is the pin number and the second
-  cell is used to specify optional parameters.
-- interrupt-controller: Marks the device node as an interrupt controller.
-- #interrupt-cells: Should be 2.  The first cell defines the interrupt number.
-  The second cell bits[3:0] is used to specify trigger type as follows:
-    1 = low-to-high edge triggered
-    2 = high-to-low edge triggered
-    4 = active high level-sensitive
-    8 = active low level-sensitive
-  Valid combinations are 1, 2, 3, 4, 8.
-- ngpios: Specifies the number of GPIO lines.
-- gpio-ranges: Mapping to pin controller pins (as described in gpio.txt)
-- socionext,interrupt-ranges: Specifies an interrupt number mapping between
-  this GPIO controller and its interrupt parent, in the form of arbitrary
-  number of <child-interrupt-base parent-interrupt-base length> triplets.
-
-Optional properties:
-- gpio-ranges-group-names: Used for named gpio ranges (as described in gpio.txt)
-
-Example:
-	gpio: gpio@55000000 {
-		compatible = "socionext,uniphier-gpio";
-		reg = <0x55000000 0x200>;
-		interrupt-parent = <&aidet>;
-		interrupt-controller;
-		#interrupt-cells = <2>;
-		gpio-controller;
-		#gpio-cells = <2>;
-		gpio-ranges = <&pinctrl 0 0 0>;
-		gpio-ranges-group-names = "gpio_range";
-		ngpios = <248>;
-		socionext,interrupt-ranges = <0 48 16>, <16 154 5>, <21 217 3>;
-	};
-
-Consumer Example:
-
-	sdhci0_pwrseq {
-		compatible = "mmc-pwrseq-emmc";
-		reset-gpios = <&gpio UNIPHIER_GPIO_PORT(29, 4) GPIO_ACTIVE_LOW>;
-	};
-
-Please note UNIPHIER_GPIO_PORT(29, 4) represents PORT294 in the SoC document.
-Unfortunately, only the one's place is octal in the port numbering.  (That is,
-PORT 8, 9, 18, 19, 28, 29, ... are missing.)  UNIPHIER_GPIO_PORT() is a helper
-macro to calculate 29 * 8 + 4.
diff --git a/Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml b/Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
new file mode 100644
index 000000000000..94beb4342249
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
@@ -0,0 +1,89 @@ 
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/socionext,uniphier-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: UniPhier GPIO controller
+
+maintainers:
+  - Masahiro Yamada <yamada.masahiro@socionext.com>
+
+properties:
+  $nodename:
+    pattern: "^gpio@[0-9a-f]+$"
+
+  compatible:
+    const: socionext,uniphier-gpio
+
+  reg:
+    maxItems: 1
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 2
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    description: |
+      The first cell defines the interrupt number.
+      The second cell bits[3:0] is used to specify trigger type as follows:
+        1 = low-to-high edge triggered
+        2 = high-to-low edge triggered
+        4 = active high level-sensitive
+        8 = active low level-sensitive
+      Valid combinations are 1, 2, 3, 4, 8.
+    const: 2
+
+  ngpios:
+    minimum: 0
+    maximum: 512
+
+  gpio-ranges-group-names:
+    $ref: /schemas/types.yaml#/definitions/string-array
+
+  socionext,interrupt-ranges:
+    description: |
+      Specifies an interrupt number mapping between this GPIO controller and
+      its interrupt parent, in the form of arbitrary number of
+      <child-interrupt-base parent-interrupt-base length> triplets.
+    $ref: /schemas/types.yaml#/definitions/uint32-matrix
+
+required:
+  - compatible
+  - reg
+  - gpio-controller
+  - "#gpio-cells"
+  - interrupt-controller
+  - "#interrupt-cells"
+  - ngpios
+  - gpio-ranges
+  - socionext,interrupt-ranges
+
+examples:
+  - |
+    gpio: gpio@55000000 {
+        compatible = "socionext,uniphier-gpio";
+        reg = <0x55000000 0x200>;
+        interrupt-parent = <&aidet>;
+        interrupt-controller;
+        #interrupt-cells = <2>;
+        gpio-controller;
+        #gpio-cells = <2>;
+        gpio-ranges = <&pinctrl 0 0 0>;
+        gpio-ranges-group-names = "gpio_range";
+        ngpios = <248>;
+        socionext,interrupt-ranges = <0 48 16>, <16 154 5>, <21 217 3>;
+    };
+
+    // Consumer:
+    // Please note UNIPHIER_GPIO_PORT(29, 4) represents PORT294 in the SoC
+    // document. Unfortunately, only the one's place is octal in the port
+    // numbering. (That is, PORT 8, 9, 18, 19, 28, 29, ... are missing.)
+    // UNIPHIER_GPIO_PORT() is a helper macro to calculate 29 * 8 + 4.
+    sdhci0_pwrseq {
+        compatible = "mmc-pwrseq-emmc";
+        reset-gpios = <&gpio UNIPHIER_GPIO_PORT(29, 4) GPIO_ACTIVE_LOW>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 93ccb6708ae9..3cb4c8a9107d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2547,7 +2547,7 @@  L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier.git
 S:	Maintained
 F:	Documentation/devicetree/bindings/arm/socionext/uniphier.yaml
-F:	Documentation/devicetree/bindings/gpio/gpio-uniphier.txt
+F:	Documentation/devicetree/bindings/gpio/socionext,uniphier-gpio.yaml
 F:	Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.txt
 F:	arch/arm/boot/dts/uniphier*
 F:	arch/arm/include/asm/hardware/cache-uniphier.h