diff mbox series

[1/2] MIPS: dts: correct gpio-keys names and properties

Message ID 20220624170740.66271-1-krzysztof.kozlowski@linaro.org (mailing list archive)
State New, archived
Headers show
Series [1/2] MIPS: dts: correct gpio-keys names and properties | expand

Commit Message

Krzysztof Kozlowski June 24, 2022, 5:07 p.m. UTC
gpio-keys children do not use unit addresses.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

See: https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
---
 arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
 arch/mips/boot/dts/ingenic/gcw0.dts           | 31 +++++++++----------
 arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
 arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
 .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
 arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
 .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
 arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
 .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
 arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
 10 files changed, 37 insertions(+), 57 deletions(-)

Comments

Paul Cercueil June 24, 2022, 6:40 p.m. UTC | #1
Hi Krzysztof,

Le ven., juin 24 2022 at 19:07:39 +0200, Krzysztof Kozlowski 
<krzysztof.kozlowski@linaro.org> a écrit :
> gpio-keys children do not use unit addresses.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> See: 
> https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
> ---
>  arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
>  arch/mips/boot/dts/ingenic/gcw0.dts           | 31 
> +++++++++----------
>  arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
>  arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
>  .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
>  arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
>  .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
>  arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
>  .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
>  arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
>  10 files changed, 37 insertions(+), 57 deletions(-)
> 
> diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts 
> b/arch/mips/boot/dts/img/pistachio_marduk.dts
> index a8708783f04b..a8da2f992b1a 100644
> --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
> +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
> @@ -59,12 +59,12 @@ led-1 {
> 
>  	keys {
>  		compatible = "gpio-keys";
> -		button@1 {
> +		button-1 {
>  			label = "Button 1";
>  			linux,code = <0x101>; /* BTN_1 */
>  			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
>  		};
> -		button@2 {
> +		button-2 {
>  			label = "Button 2";
>  			linux,code = <0x102>; /* BTN_2 */
>  			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
> diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts 
> b/arch/mips/boot/dts/ingenic/gcw0.dts
> index 4abb0318416c..5d33f26fd28c 100644
> --- a/arch/mips/boot/dts/ingenic/gcw0.dts
> +++ b/arch/mips/boot/dts/ingenic/gcw0.dts
> @@ -130,89 +130,86 @@ backlight: backlight {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;

Are you sure you can remove these?

Looking at paragraph 2.3.5 of the DT spec, I would think they have to 
stay (although with #address-cells = <0>).

Cheers,
-Paul

> -
>  		autorepeat;
> 
> -		button@0 {
> +		button-0 {
>  			label = "D-pad up";
>  			linux,code = <KEY_UP>;
>  			linux,can-disable;
>  			gpios = <&gpe 21 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@1 {
> +		button-1 {
>  			label = "D-pad down";
>  			linux,code = <KEY_DOWN>;
>  			linux,can-disable;
>  			gpios = <&gpe 25 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@2 {
> +		button-2 {
>  			label = "D-pad left";
>  			linux,code = <KEY_LEFT>;
>  			linux,can-disable;
>  			gpios = <&gpe 23 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@3 {
> +		button-3 {
>  			label = "D-pad right";
>  			linux,code = <KEY_RIGHT>;
>  			linux,can-disable;
>  			gpios = <&gpe 24 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@4 {
> +		button-4 {
>  			label = "Button A";
>  			linux,code = <KEY_LEFTCTRL>;
>  			linux,can-disable;
>  			gpios = <&gpe 29 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@5 {
> +		button-5 {
>  			label = "Button B";
>  			linux,code = <KEY_LEFTALT>;
>  			linux,can-disable;
>  			gpios = <&gpe 20 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@6 {
> +		button-6 {
>  			label = "Button Y";
>  			linux,code = <KEY_SPACE>;
>  			linux,can-disable;
>  			gpios = <&gpe 27 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@7 {
> +		button-7 {
>  			label = "Button X";
>  			linux,code = <KEY_LEFTSHIFT>;
>  			linux,can-disable;
>  			gpios = <&gpe 28 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@8 {
> +		button-8 {
>  			label = "Left shoulder button";
>  			linux,code = <KEY_TAB>;
>  			linux,can-disable;
>  			gpios = <&gpb 20 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@9 {
> +		button-9 {
>  			label = "Right shoulder button";
>  			linux,code = <KEY_BACKSPACE>;
>  			linux,can-disable;
>  			gpios = <&gpe 26 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@10 {
> +		button-10 {
>  			label = "Start button";
>  			linux,code = <KEY_ENTER>;
>  			linux,can-disable;
>  			gpios = <&gpb 21 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@11 {
> +		button-11 {
>  			label = "Select button";
>  			linux,code = <KEY_ESC>;
>  			linux,can-disable;
> @@ -223,7 +220,7 @@ button@11 {
>  			gpios = <&gpd 18 GPIO_ACTIVE_HIGH>;
>  		};
> 
> -		button@12 {
> +		button-12 {
>  			label = "Power slider";
>  			linux,code = <KEY_POWER>;
>  			linux,can-disable;
> @@ -231,7 +228,7 @@ button@12 {
>  			wakeup-source;
>  		};
> 
> -		button@13 {
> +		button-13 {
>  			label = "Power hold";
>  			linux,code = <KEY_PAUSE>;
>  			linux,can-disable;
> diff --git a/arch/mips/boot/dts/ingenic/rs90.dts 
> b/arch/mips/boot/dts/ingenic/rs90.dts
> index 74fee7f01352..e8df70dd42bf 100644
> --- a/arch/mips/boot/dts/ingenic/rs90.dts
> +++ b/arch/mips/boot/dts/ingenic/rs90.dts
> @@ -52,53 +52,51 @@ backlight: backlight {
> 
>  	keys@0 {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		key@0 {
> +		key-0 {
>  			label = "D-pad up";
>  			linux,code = <KEY_UP>;
>  			gpios = <&gpc 10 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		key@1 {
> +		key-1 {
>  			label = "D-pad down";
>  			linux,code = <KEY_DOWN>;
>  			gpios = <&gpc 11 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		key@2 {
> +		key-2 {
>  			label = "D-pad left";
>  			linux,code = <KEY_LEFT>;
>  			gpios = <&gpb 31 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		key@3 {
> +		key-3 {
>  			label = "D-pad right";
>  			linux,code = <KEY_RIGHT>;
>  			gpios = <&gpd 21 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		key@4 {
> +		key-4 {
>  			label = "Button A";
>  			linux,code = <KEY_LEFTCTRL>;
>  			gpios = <&gpc 31 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		key@5 {
> +		key-5 {
>  			label = "Button B";
>  			linux,code = <KEY_LEFTALT>;
>  			gpios = <&gpc 30 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		key@6 {
> +		key-6 {
>  			label = "Right shoulder button";
>  			linux,code = <KEY_BACKSPACE>;
>  			gpios = <&gpc 12 GPIO_ACTIVE_LOW>;
>  			debounce-interval = <10>;
>  		};
> 
> -		key@7 {
> +		key-7 {
>  			label = "Start button";
>  			linux,code = <KEY_ENTER>;
>  			gpios = <&gpd 17 GPIO_ACTIVE_LOW>;
> diff --git a/arch/mips/boot/dts/pic32/pic32mzda_sk.dts 
> b/arch/mips/boot/dts/pic32/pic32mzda_sk.dts
> index d7fa5d55dbf3..ab70637bbec5 100644
> --- a/arch/mips/boot/dts/pic32/pic32mzda_sk.dts
> +++ b/arch/mips/boot/dts/pic32/pic32mzda_sk.dts
> @@ -52,22 +52,19 @@ keys0 {
>  		pinctrl-0 = <&user_buttons_s0>;
>  		pinctrl-names = "default";
> 
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		button@sw1 {
> +		button-1 {
>  			label = "ESC";
>  			linux,code = <1>;
>  			gpios = <&gpio1 12 0>;
>  		};
> 
> -		button@sw2 {
> +		button-2 {
>  			label = "Home";
>  			linux,code = <102>;
>  			gpios = <&gpio1 13 0>;
>  		};
> 
> -		button@sw3 {
> +		button-3 {
>  			label = "Menu";
>  			linux,code = <139>;
>  			gpios = <&gpio1 14 0>;
> diff --git a/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts 
> b/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts
> index 7fccf6357225..f3dff4009ab5 100644
> --- a/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts
> +++ b/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts
> @@ -23,17 +23,15 @@ extosc: ref {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		button@0 {
> +		button-0 {
>  			label = "reset";
>  			linux,code = <KEY_RESTART>;
>  			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
>  			debounce-interval = <60>;
>  		};
> 
> -		button@1 {
> +		button-1 {
>  			label = "qss";
>  			linux,code = <KEY_WPS_BUTTON>;
>  			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
> diff --git a/arch/mips/boot/dts/qca/ar9331_dpt_module.dts 
> b/arch/mips/boot/dts/qca/ar9331_dpt_module.dts
> index 7695d326df11..c857cd22f7db 100644
> --- a/arch/mips/boot/dts/qca/ar9331_dpt_module.dts
> +++ b/arch/mips/boot/dts/qca/ar9331_dpt_module.dts
> @@ -33,10 +33,8 @@ led-0 {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		button@0 {
> +		button-0 {
>  			label = "reset";
>  			linux,code = <KEY_RESTART>;
>  			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
> diff --git a/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts 
> b/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts
> index d38aa73f1a2e..40e4c5da0e65 100644
> --- a/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts
> +++ b/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts
> @@ -49,16 +49,14 @@ system {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		button@0 {
> +		button-0 {
>  			label = "jumpstart";
>  			linux,code = <KEY_WPS_BUTTON>;
>  			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
>  		};
> 
> -		button@1 {
> +		button-1 {
>  			label = "reset";
>  			linux,code = <KEY_RESTART>;
>  			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
> diff --git a/arch/mips/boot/dts/qca/ar9331_omega.dts 
> b/arch/mips/boot/dts/qca/ar9331_omega.dts
> index 11778abacf66..ed184d861d5f 100644
> --- a/arch/mips/boot/dts/qca/ar9331_omega.dts
> +++ b/arch/mips/boot/dts/qca/ar9331_omega.dts
> @@ -31,10 +31,8 @@ system {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		button@0 {
> +		button-0 {
>  			label = "reset";
>  			linux,code = <KEY_RESTART>;
>  			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
> diff --git 
> a/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts 
> b/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts
> index e6622f8e8c2b..dc65ebd60bbc 100644
> --- a/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts
> +++ b/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts
> @@ -33,10 +33,8 @@ led-0 {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		button@0 {
> +		button-0 {
>  			label = "reset";
>  			linux,code = <KEY_RESTART>;
>  			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
> diff --git a/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts 
> b/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts
> index c8290d36cfbe..5f424c2cd781 100644
> --- a/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts
> +++ b/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts
> @@ -49,22 +49,20 @@ led3g {
> 
>  	gpio-keys {
>  		compatible = "gpio-keys";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> 
> -		button@0 {
> +		button-0 {
>  			label = "wps";
>  			linux,code = <KEY_WPS_BUTTON>;
>  			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
>  		};
> 
> -		button@1 {
> +		button-1 {
>  			label = "sw1";
>  			linux,code = <BTN_0>;
>  			gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
>  		};
> 
> -		button@2 {
> +		button-2 {
>  			label = "sw2";
>  			linux,code = <BTN_1>;
>  			gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
> --
> 2.34.1
>
Krzysztof Kozlowski June 25, 2022, 7:58 p.m. UTC | #2
On 24/06/2022 20:40, Paul Cercueil wrote:
> Hi Krzysztof,
> 
> Le ven., juin 24 2022 at 19:07:39 +0200, Krzysztof Kozlowski 
> <krzysztof.kozlowski@linaro.org> a écrit :
>> gpio-keys children do not use unit addresses.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>
>> ---
>>
>> See: 
>> https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
>> ---
>>  arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
>>  arch/mips/boot/dts/ingenic/gcw0.dts           | 31 
>> +++++++++----------
>>  arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
>>  arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
>>  .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
>>  arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
>>  .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
>>  arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
>>  .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
>>  arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
>>  10 files changed, 37 insertions(+), 57 deletions(-)
>>
>> diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts 
>> b/arch/mips/boot/dts/img/pistachio_marduk.dts
>> index a8708783f04b..a8da2f992b1a 100644
>> --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
>> +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
>> @@ -59,12 +59,12 @@ led-1 {
>>
>>  	keys {
>>  		compatible = "gpio-keys";
>> -		button@1 {
>> +		button-1 {
>>  			label = "Button 1";
>>  			linux,code = <0x101>; /* BTN_1 */
>>  			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
>>  		};
>> -		button@2 {
>> +		button-2 {
>>  			label = "Button 2";
>>  			linux,code = <0x102>; /* BTN_2 */
>>  			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
>> diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts 
>> b/arch/mips/boot/dts/ingenic/gcw0.dts
>> index 4abb0318416c..5d33f26fd28c 100644
>> --- a/arch/mips/boot/dts/ingenic/gcw0.dts
>> +++ b/arch/mips/boot/dts/ingenic/gcw0.dts
>> @@ -130,89 +130,86 @@ backlight: backlight {
>>
>>  	gpio-keys {
>>  		compatible = "gpio-keys";
>> -		#address-cells = <1>;
>> -		#size-cells = <0>;
> 
> Are you sure you can remove these?

Yes, from DT spec point of view, DT bindings and Linux implementation.
However this particular change was not tested, except building.

> 
> Looking at paragraph 2.3.5 of the DT spec, I would think they have to 
> stay (although with #address-cells = <0>).

The paragraph 2.3.5 says nothing about regular properties (which can be
also child nodes). It says about children of a bus, right? It's not
related here, it's not a bus.

Second, why exactly this one gpio-keys node is different than all other
gpio-keys everywhere and than bindings? Why this one has to be
incompatible/wrong according to bindings (which do not allow
address-cells and nodes with unit addresses)?


Best regards,
Krzysztof
Paul Cercueil June 25, 2022, 8:15 p.m. UTC | #3
Hi Krzysztof,

Le sam., juin 25 2022 at 21:58:08 +0200, Krzysztof Kozlowski 
<krzysztof.kozlowski@linaro.org> a écrit :
> On 24/06/2022 20:40, Paul Cercueil wrote:
>>  Hi Krzysztof,
>> 
>>  Le ven., juin 24 2022 at 19:07:39 +0200, Krzysztof Kozlowski
>>  <krzysztof.kozlowski@linaro.org> a écrit :
>>>  gpio-keys children do not use unit addresses.
>>> 
>>>  Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>> 
>>>  ---
>>> 
>>>  See:
>>>  
>>> https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
>>>  ---
>>>   arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
>>>   arch/mips/boot/dts/ingenic/gcw0.dts           | 31
>>>  +++++++++----------
>>>   arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
>>>   arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
>>>   .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
>>>   arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
>>>   .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
>>>   arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
>>>   .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
>>>   arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
>>>   10 files changed, 37 insertions(+), 57 deletions(-)
>>> 
>>>  diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>  b/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>  index a8708783f04b..a8da2f992b1a 100644
>>>  --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>  +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>  @@ -59,12 +59,12 @@ led-1 {
>>> 
>>>   	keys {
>>>   		compatible = "gpio-keys";
>>>  -		button@1 {
>>>  +		button-1 {
>>>   			label = "Button 1";
>>>   			linux,code = <0x101>; /* BTN_1 */
>>>   			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
>>>   		};
>>>  -		button@2 {
>>>  +		button-2 {
>>>   			label = "Button 2";
>>>   			linux,code = <0x102>; /* BTN_2 */
>>>   			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
>>>  diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts
>>>  b/arch/mips/boot/dts/ingenic/gcw0.dts
>>>  index 4abb0318416c..5d33f26fd28c 100644
>>>  --- a/arch/mips/boot/dts/ingenic/gcw0.dts
>>>  +++ b/arch/mips/boot/dts/ingenic/gcw0.dts
>>>  @@ -130,89 +130,86 @@ backlight: backlight {
>>> 
>>>   	gpio-keys {
>>>   		compatible = "gpio-keys";
>>>  -		#address-cells = <1>;
>>>  -		#size-cells = <0>;
>> 
>>  Are you sure you can remove these?
> 
> Yes, from DT spec point of view, DT bindings and Linux implementation.
> However this particular change was not tested, except building.
> 
>> 
>>  Looking at paragraph 2.3.5 of the DT spec, I would think they have 
>> to
>>  stay (although with #address-cells = <0>).
> 
> The paragraph 2.3.5 says nothing about regular properties (which can 
> be
> also child nodes). It says about children of a bus, right? It's not
> related here, it's not a bus.

I quote:
"A DTSpec-compliant boot program shall supply #address-cells and 
#size-cells on all nodes that have children."

The gpio-keys node has children nodes, therefore it should have 
#address-cells and #size-cells, there's no room for interpretation here.

> Second, why exactly this one gpio-keys node is different than all 
> other
> gpio-keys everywhere and than bindings? Why this one has to be
> incompatible/wrong according to bindings (which do not allow
> address-cells and nodes with unit addresses)?

Nothing is different. I'm just stating that your proposed fix is 
invalid if we want to enforce compliance with the DT spec.

Cheers,
-Paul
>
Krzysztof Kozlowski June 25, 2022, 8:25 p.m. UTC | #4
On 25/06/2022 22:15, Paul Cercueil wrote:
> Hi Krzysztof,
> 
> Le sam., juin 25 2022 at 21:58:08 +0200, Krzysztof Kozlowski 
> <krzysztof.kozlowski@linaro.org> a écrit :
>> On 24/06/2022 20:40, Paul Cercueil wrote:
>>>  Hi Krzysztof,
>>>
>>>  Le ven., juin 24 2022 at 19:07:39 +0200, Krzysztof Kozlowski
>>>  <krzysztof.kozlowski@linaro.org> a écrit :
>>>>  gpio-keys children do not use unit addresses.
>>>>
>>>>  Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>>
>>>>  ---
>>>>
>>>>  See:
>>>>  
>>>> https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
>>>>  ---
>>>>   arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
>>>>   arch/mips/boot/dts/ingenic/gcw0.dts           | 31
>>>>  +++++++++----------
>>>>   arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
>>>>   arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
>>>>   .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
>>>>   arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
>>>>   .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
>>>>   arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
>>>>   .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
>>>>   arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
>>>>   10 files changed, 37 insertions(+), 57 deletions(-)
>>>>
>>>>  diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>  b/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>  index a8708783f04b..a8da2f992b1a 100644
>>>>  --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>  +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>  @@ -59,12 +59,12 @@ led-1 {
>>>>
>>>>   	keys {
>>>>   		compatible = "gpio-keys";
>>>>  -		button@1 {
>>>>  +		button-1 {
>>>>   			label = "Button 1";
>>>>   			linux,code = <0x101>; /* BTN_1 */
>>>>   			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
>>>>   		};
>>>>  -		button@2 {
>>>>  +		button-2 {
>>>>   			label = "Button 2";
>>>>   			linux,code = <0x102>; /* BTN_2 */
>>>>   			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
>>>>  diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>  b/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>  index 4abb0318416c..5d33f26fd28c 100644
>>>>  --- a/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>  +++ b/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>  @@ -130,89 +130,86 @@ backlight: backlight {
>>>>
>>>>   	gpio-keys {
>>>>   		compatible = "gpio-keys";
>>>>  -		#address-cells = <1>;
>>>>  -		#size-cells = <0>;
>>>
>>>  Are you sure you can remove these?
>>
>> Yes, from DT spec point of view, DT bindings and Linux implementation.
>> However this particular change was not tested, except building.
>>
>>>
>>>  Looking at paragraph 2.3.5 of the DT spec, I would think they have 
>>> to
>>>  stay (although with #address-cells = <0>).
>>
>> The paragraph 2.3.5 says nothing about regular properties (which can 
>> be
>> also child nodes). It says about children of a bus, right? It's not
>> related here, it's not a bus.
> 
> I quote:
> "A DTSpec-compliant boot program shall supply #address-cells and 
> #size-cells on all nodes that have children."

And paragraph 2.2.3 says:
"A unit address may be omitted if the full path to the node is unambiguous."

You have address/size cells for nodes with children having unit
addresses. If they don't unit addresses, you don't add address/size
cells (with some exceptions).

The paragraph 2.3.5 mentions "child device nodes" and these properties
are not devices, although I agree that DT spec here is actually confusing.

> 
> The gpio-keys node has children nodes, therefore it should have 
> #address-cells and #size-cells, there's no room for interpretation here.
> 
>> Second, why exactly this one gpio-keys node is different than all 
>> other
>> gpio-keys everywhere and than bindings? Why this one has to be
>> incompatible/wrong according to bindings (which do not allow
>> address-cells and nodes with unit addresses)?
> 
> Nothing is different. I'm just stating that your proposed fix is 
> invalid if we want to enforce compliance with the DT spec.

In such case, we rather enforce the compliance with the bindings.

Best regards,
Krzysztof
Arınç ÜNAL June 29, 2022, 12:08 p.m. UTC | #5
On 25.06.2022 23:25, Krzysztof Kozlowski wrote:
> On 25/06/2022 22:15, Paul Cercueil wrote:
>> Hi Krzysztof,
>>
>> Le sam., juin 25 2022 at 21:58:08 +0200, Krzysztof Kozlowski
>> <krzysztof.kozlowski@linaro.org> a écrit :
>>> On 24/06/2022 20:40, Paul Cercueil wrote:
>>>>   Hi Krzysztof,
>>>>
>>>>   Le ven., juin 24 2022 at 19:07:39 +0200, Krzysztof Kozlowski
>>>>   <krzysztof.kozlowski@linaro.org> a écrit :
>>>>>   gpio-keys children do not use unit addresses.
>>>>>
>>>>>   Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>>>
>>>>>   ---
>>>>>
>>>>>   See:
>>>>>   
>>>>> https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
>>>>>   ---
>>>>>    arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
>>>>>    arch/mips/boot/dts/ingenic/gcw0.dts           | 31
>>>>>   +++++++++----------
>>>>>    arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
>>>>>    arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
>>>>>    .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
>>>>>    arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
>>>>>    .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
>>>>>    arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
>>>>>    .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
>>>>>    arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
>>>>>    10 files changed, 37 insertions(+), 57 deletions(-)
>>>>>
>>>>>   diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>>   b/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>>   index a8708783f04b..a8da2f992b1a 100644
>>>>>   --- a/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>>   +++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
>>>>>   @@ -59,12 +59,12 @@ led-1 {
>>>>>
>>>>>    	keys {
>>>>>    		compatible = "gpio-keys";
>>>>>   -		button@1 {
>>>>>   +		button-1 {
>>>>>    			label = "Button 1";
>>>>>    			linux,code = <0x101>; /* BTN_1 */
>>>>>    			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
>>>>>    		};
>>>>>   -		button@2 {
>>>>>   +		button-2 {
>>>>>    			label = "Button 2";
>>>>>    			linux,code = <0x102>; /* BTN_2 */
>>>>>    			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
>>>>>   diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>>   b/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>>   index 4abb0318416c..5d33f26fd28c 100644
>>>>>   --- a/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>>   +++ b/arch/mips/boot/dts/ingenic/gcw0.dts
>>>>>   @@ -130,89 +130,86 @@ backlight: backlight {
>>>>>
>>>>>    	gpio-keys {
>>>>>    		compatible = "gpio-keys";
>>>>>   -		#address-cells = <1>;
>>>>>   -		#size-cells = <0>;
>>>>
>>>>   Are you sure you can remove these?
>>>
>>> Yes, from DT spec point of view, DT bindings and Linux implementation.
>>> However this particular change was not tested, except building.
>>>
>>>>
>>>>   Looking at paragraph 2.3.5 of the DT spec, I would think they have
>>>> to
>>>>   stay (although with #address-cells = <0>).
>>>
>>> The paragraph 2.3.5 says nothing about regular properties (which can
>>> be
>>> also child nodes). It says about children of a bus, right? It's not
>>> related here, it's not a bus.
>>
>> I quote:
>> "A DTSpec-compliant boot program shall supply #address-cells and
>> #size-cells on all nodes that have children."
> 
> And paragraph 2.2.3 says:
> "A unit address may be omitted if the full path to the node is unambiguous."
> 
> You have address/size cells for nodes with children having unit
> addresses. If they don't unit addresses, you don't add address/size
> cells (with some exceptions).
> 
> The paragraph 2.3.5 mentions "child device nodes" and these properties
> are not devices, although I agree that DT spec here is actually confusing.
> 
>>
>> The gpio-keys node has children nodes, therefore it should have
>> #address-cells and #size-cells, there's no room for interpretation here.
>>
>>> Second, why exactly this one gpio-keys node is different than all
>>> other
>>> gpio-keys everywhere and than bindings? Why this one has to be
>>> incompatible/wrong according to bindings (which do not allow
>>> address-cells and nodes with unit addresses)?
>>
>> Nothing is different. I'm just stating that your proposed fix is
>> invalid if we want to enforce compliance with the DT spec.
> 
> In such case, we rather enforce the compliance with the bindings.
> 
> Best regards,
> Krzysztof

I recall them to be unnecessary as well. I have a patch of mine applied 
identical to this:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8c9f00d4b05134164e462f27b21c8295255ffa64

Also, I don't see any warnings with this patch applied:

$ ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- make clean dtbs -j$(nproc)
   SYNC    include/config/auto.conf.cmd
   HOSTCC  scripts/basic/fixdep
   HOSTCC  scripts/kconfig/conf.o
   HOSTCC  scripts/kconfig/confdata.o
   HOSTCC  scripts/kconfig/expr.o
   LEX     scripts/kconfig/lexer.lex.c
   YACC    scripts/kconfig/parser.tab.[ch]
   HOSTCC  scripts/kconfig/menu.o
   HOSTCC  scripts/kconfig/preprocess.o
   HOSTCC  scripts/kconfig/symbol.o
   HOSTCC  scripts/kconfig/util.o
   HOSTCC  scripts/kconfig/lexer.lex.o
   HOSTCC  scripts/kconfig/parser.tab.o
   HOSTLD  scripts/kconfig/conf
   HOSTCC  scripts/dtc/dtc.o
   HOSTCC  scripts/dtc/flattree.o
   HOSTCC  scripts/dtc/fstree.o
   HOSTCC  scripts/dtc/data.o
   HOSTCC  scripts/dtc/livetree.o
   HOSTCC  scripts/dtc/treesource.o
   HOSTCC  scripts/dtc/srcpos.o
   HOSTCC  scripts/dtc/checks.o
   HOSTCC  scripts/dtc/util.o
   LEX     scripts/dtc/dtc-lexer.lex.c
   YACC    scripts/dtc/dtc-parser.tab.[ch]
   HOSTCC  scripts/dtc/libfdt/fdt.o
   HOSTCC  scripts/dtc/libfdt/fdt_ro.o
   HOSTCC  scripts/dtc/libfdt/fdt_wip.o
   HOSTCC  scripts/dtc/libfdt/fdt_sw.o
   HOSTCC  scripts/dtc/libfdt/fdt_rw.o
   HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
   HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
   HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
   HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
   HOSTCC  scripts/dtc/fdtoverlay.o
   HOSTCC  scripts/dtc/dtc-lexer.lex.o
   HOSTCC  scripts/dtc/dtc-parser.tab.o
   HOSTLD  scripts/dtc/fdtoverlay
   HOSTLD  scripts/dtc/dtc
   DTC     arch/mips/boot/dts/ingenic/gcw0.dtb

Have my acked-by.

Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>

Arınç
Thomas Bogendoerfer July 14, 2022, 9:55 a.m. UTC | #6
On Fri, Jun 24, 2022 at 07:07:39PM +0200, Krzysztof Kozlowski wrote:
> gpio-keys children do not use unit addresses.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> See: https://lore.kernel.org/all/20220616005224.18391-1-krzysztof.kozlowski@linaro.org/
> ---
>  arch/mips/boot/dts/img/pistachio_marduk.dts   |  4 +--
>  arch/mips/boot/dts/ingenic/gcw0.dts           | 31 +++++++++----------
>  arch/mips/boot/dts/ingenic/rs90.dts           | 18 +++++------
>  arch/mips/boot/dts/pic32/pic32mzda_sk.dts     |  9 ++----
>  .../boot/dts/qca/ar9132_tl_wr1043nd_v1.dts    |  6 ++--
>  arch/mips/boot/dts/qca/ar9331_dpt_module.dts  |  4 +--
>  .../mips/boot/dts/qca/ar9331_dragino_ms14.dts |  6 ++--
>  arch/mips/boot/dts/qca/ar9331_omega.dts       |  4 +--
>  .../qca/ar9331_openembed_som9331_board.dts    |  4 +--
>  arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts   |  8 ++---
>  10 files changed, 37 insertions(+), 57 deletions(-)

applied to mips-next.

Thomas.
diff mbox series

Patch

diff --git a/arch/mips/boot/dts/img/pistachio_marduk.dts b/arch/mips/boot/dts/img/pistachio_marduk.dts
index a8708783f04b..a8da2f992b1a 100644
--- a/arch/mips/boot/dts/img/pistachio_marduk.dts
+++ b/arch/mips/boot/dts/img/pistachio_marduk.dts
@@ -59,12 +59,12 @@  led-1 {
 
 	keys {
 		compatible = "gpio-keys";
-		button@1 {
+		button-1 {
 			label = "Button 1";
 			linux,code = <0x101>; /* BTN_1 */
 			gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
 		};
-		button@2 {
+		button-2 {
 			label = "Button 2";
 			linux,code = <0x102>; /* BTN_2 */
 			gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
diff --git a/arch/mips/boot/dts/ingenic/gcw0.dts b/arch/mips/boot/dts/ingenic/gcw0.dts
index 4abb0318416c..5d33f26fd28c 100644
--- a/arch/mips/boot/dts/ingenic/gcw0.dts
+++ b/arch/mips/boot/dts/ingenic/gcw0.dts
@@ -130,89 +130,86 @@  backlight: backlight {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
-
 		autorepeat;
 
-		button@0 {
+		button-0 {
 			label = "D-pad up";
 			linux,code = <KEY_UP>;
 			linux,can-disable;
 			gpios = <&gpe 21 GPIO_ACTIVE_LOW>;
 		};
 
-		button@1 {
+		button-1 {
 			label = "D-pad down";
 			linux,code = <KEY_DOWN>;
 			linux,can-disable;
 			gpios = <&gpe 25 GPIO_ACTIVE_LOW>;
 		};
 
-		button@2 {
+		button-2 {
 			label = "D-pad left";
 			linux,code = <KEY_LEFT>;
 			linux,can-disable;
 			gpios = <&gpe 23 GPIO_ACTIVE_LOW>;
 		};
 
-		button@3 {
+		button-3 {
 			label = "D-pad right";
 			linux,code = <KEY_RIGHT>;
 			linux,can-disable;
 			gpios = <&gpe 24 GPIO_ACTIVE_LOW>;
 		};
 
-		button@4 {
+		button-4 {
 			label = "Button A";
 			linux,code = <KEY_LEFTCTRL>;
 			linux,can-disable;
 			gpios = <&gpe 29 GPIO_ACTIVE_LOW>;
 		};
 
-		button@5 {
+		button-5 {
 			label = "Button B";
 			linux,code = <KEY_LEFTALT>;
 			linux,can-disable;
 			gpios = <&gpe 20 GPIO_ACTIVE_LOW>;
 		};
 
-		button@6 {
+		button-6 {
 			label = "Button Y";
 			linux,code = <KEY_SPACE>;
 			linux,can-disable;
 			gpios = <&gpe 27 GPIO_ACTIVE_LOW>;
 		};
 
-		button@7 {
+		button-7 {
 			label = "Button X";
 			linux,code = <KEY_LEFTSHIFT>;
 			linux,can-disable;
 			gpios = <&gpe 28 GPIO_ACTIVE_LOW>;
 		};
 
-		button@8 {
+		button-8 {
 			label = "Left shoulder button";
 			linux,code = <KEY_TAB>;
 			linux,can-disable;
 			gpios = <&gpb 20 GPIO_ACTIVE_LOW>;
 		};
 
-		button@9 {
+		button-9 {
 			label = "Right shoulder button";
 			linux,code = <KEY_BACKSPACE>;
 			linux,can-disable;
 			gpios = <&gpe 26 GPIO_ACTIVE_LOW>;
 		};
 
-		button@10 {
+		button-10 {
 			label = "Start button";
 			linux,code = <KEY_ENTER>;
 			linux,can-disable;
 			gpios = <&gpb 21 GPIO_ACTIVE_LOW>;
 		};
 
-		button@11 {
+		button-11 {
 			label = "Select button";
 			linux,code = <KEY_ESC>;
 			linux,can-disable;
@@ -223,7 +220,7 @@  button@11 {
 			gpios = <&gpd 18 GPIO_ACTIVE_HIGH>;
 		};
 
-		button@12 {
+		button-12 {
 			label = "Power slider";
 			linux,code = <KEY_POWER>;
 			linux,can-disable;
@@ -231,7 +228,7 @@  button@12 {
 			wakeup-source;
 		};
 
-		button@13 {
+		button-13 {
 			label = "Power hold";
 			linux,code = <KEY_PAUSE>;
 			linux,can-disable;
diff --git a/arch/mips/boot/dts/ingenic/rs90.dts b/arch/mips/boot/dts/ingenic/rs90.dts
index 74fee7f01352..e8df70dd42bf 100644
--- a/arch/mips/boot/dts/ingenic/rs90.dts
+++ b/arch/mips/boot/dts/ingenic/rs90.dts
@@ -52,53 +52,51 @@  backlight: backlight {
 
 	keys@0 {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		key@0 {
+		key-0 {
 			label = "D-pad up";
 			linux,code = <KEY_UP>;
 			gpios = <&gpc 10 GPIO_ACTIVE_LOW>;
 		};
 
-		key@1 {
+		key-1 {
 			label = "D-pad down";
 			linux,code = <KEY_DOWN>;
 			gpios = <&gpc 11 GPIO_ACTIVE_LOW>;
 		};
 
-		key@2 {
+		key-2 {
 			label = "D-pad left";
 			linux,code = <KEY_LEFT>;
 			gpios = <&gpb 31 GPIO_ACTIVE_LOW>;
 		};
 
-		key@3 {
+		key-3 {
 			label = "D-pad right";
 			linux,code = <KEY_RIGHT>;
 			gpios = <&gpd 21 GPIO_ACTIVE_LOW>;
 		};
 
-		key@4 {
+		key-4 {
 			label = "Button A";
 			linux,code = <KEY_LEFTCTRL>;
 			gpios = <&gpc 31 GPIO_ACTIVE_LOW>;
 		};
 
-		key@5 {
+		key-5 {
 			label = "Button B";
 			linux,code = <KEY_LEFTALT>;
 			gpios = <&gpc 30 GPIO_ACTIVE_LOW>;
 		};
 
-		key@6 {
+		key-6 {
 			label = "Right shoulder button";
 			linux,code = <KEY_BACKSPACE>;
 			gpios = <&gpc 12 GPIO_ACTIVE_LOW>;
 			debounce-interval = <10>;
 		};
 
-		key@7 {
+		key-7 {
 			label = "Start button";
 			linux,code = <KEY_ENTER>;
 			gpios = <&gpd 17 GPIO_ACTIVE_LOW>;
diff --git a/arch/mips/boot/dts/pic32/pic32mzda_sk.dts b/arch/mips/boot/dts/pic32/pic32mzda_sk.dts
index d7fa5d55dbf3..ab70637bbec5 100644
--- a/arch/mips/boot/dts/pic32/pic32mzda_sk.dts
+++ b/arch/mips/boot/dts/pic32/pic32mzda_sk.dts
@@ -52,22 +52,19 @@  keys0 {
 		pinctrl-0 = <&user_buttons_s0>;
 		pinctrl-names = "default";
 
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		button@sw1 {
+		button-1 {
 			label = "ESC";
 			linux,code = <1>;
 			gpios = <&gpio1 12 0>;
 		};
 
-		button@sw2 {
+		button-2 {
 			label = "Home";
 			linux,code = <102>;
 			gpios = <&gpio1 13 0>;
 		};
 
-		button@sw3 {
+		button-3 {
 			label = "Menu";
 			linux,code = <139>;
 			gpios = <&gpio1 14 0>;
diff --git a/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts b/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts
index 7fccf6357225..f3dff4009ab5 100644
--- a/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts
+++ b/arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts
@@ -23,17 +23,15 @@  extosc: ref {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		button@0 {
+		button-0 {
 			label = "reset";
 			linux,code = <KEY_RESTART>;
 			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
 			debounce-interval = <60>;
 		};
 
-		button@1 {
+		button-1 {
 			label = "qss";
 			linux,code = <KEY_WPS_BUTTON>;
 			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
diff --git a/arch/mips/boot/dts/qca/ar9331_dpt_module.dts b/arch/mips/boot/dts/qca/ar9331_dpt_module.dts
index 7695d326df11..c857cd22f7db 100644
--- a/arch/mips/boot/dts/qca/ar9331_dpt_module.dts
+++ b/arch/mips/boot/dts/qca/ar9331_dpt_module.dts
@@ -33,10 +33,8 @@  led-0 {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		button@0 {
+		button-0 {
 			label = "reset";
 			linux,code = <KEY_RESTART>;
 			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
diff --git a/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts b/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts
index d38aa73f1a2e..40e4c5da0e65 100644
--- a/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts
+++ b/arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts
@@ -49,16 +49,14 @@  system {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		button@0 {
+		button-0 {
 			label = "jumpstart";
 			linux,code = <KEY_WPS_BUTTON>;
 			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
 		};
 
-		button@1 {
+		button-1 {
 			label = "reset";
 			linux,code = <KEY_RESTART>;
 			gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
diff --git a/arch/mips/boot/dts/qca/ar9331_omega.dts b/arch/mips/boot/dts/qca/ar9331_omega.dts
index 11778abacf66..ed184d861d5f 100644
--- a/arch/mips/boot/dts/qca/ar9331_omega.dts
+++ b/arch/mips/boot/dts/qca/ar9331_omega.dts
@@ -31,10 +31,8 @@  system {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		button@0 {
+		button-0 {
 			label = "reset";
 			linux,code = <KEY_RESTART>;
 			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
diff --git a/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts b/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts
index e6622f8e8c2b..dc65ebd60bbc 100644
--- a/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts
+++ b/arch/mips/boot/dts/qca/ar9331_openembed_som9331_board.dts
@@ -33,10 +33,8 @@  led-0 {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		button@0 {
+		button-0 {
 			label = "reset";
 			linux,code = <KEY_RESTART>;
 			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
diff --git a/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts b/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts
index c8290d36cfbe..5f424c2cd781 100644
--- a/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts
+++ b/arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts
@@ -49,22 +49,20 @@  led3g {
 
 	gpio-keys {
 		compatible = "gpio-keys";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
-		button@0 {
+		button-0 {
 			label = "wps";
 			linux,code = <KEY_WPS_BUTTON>;
 			gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
 		};
 
-		button@1 {
+		button-1 {
 			label = "sw1";
 			linux,code = <BTN_0>;
 			gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
 		};
 
-		button@2 {
+		button-2 {
 			label = "sw2";
 			linux,code = <BTN_1>;
 			gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;