mbox series

[0/6] fix all errors except one reported by dt_binding_check

Message ID 20201013160845.1772-1-thunder.leizhen@huawei.com
Headers show
Series fix all errors except one reported by dt_binding_check | expand

Message

Zhen Lei Oct. 13, 2020, 4:08 p.m. UTC
When people add multiple or common YAML files, they usually perform a full
dt_binding_check. Unfortunately, some YAML files cannot pass the self-check.
The errors or warning are listed below. It is necessary to eliminate them,
so that people's time and energy are not wasted every time when execute
comprehensive dt_binding_check.

This error is fixed by Patch 1:
/root/leizhen/linux-next/Documentation/devicetree/bindings/leds/leds-lp55xx.example.dt.yaml: led-controller@33: multi-led@2:color:0:0: 9 is greater than the maximum of 8
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/leds/leds-lp55xx.yaml

These errors are fixed by Patch 2:
/root/leizhen/linux-next/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.example.dt.yaml: ec@0: 'typec' does not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
/root/leizhen/linux-next/Documentation/devicetree/bindings/extcon/extcon-usbc-cros-ec.example.dt.yaml: cros-ec@0: 'extcon0', 'extcon1' do not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
/root/leizhen/linux-next/Documentation/devicetree/bindings/pwm/google,cros-ec-pwm.example.dt.yaml: cros-ec@0: 'ec-pwm' does not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
/root/leizhen/linux-next/Documentation/devicetree/bindings/regulator/google,cros-ec-regulator.example.dt.yaml: ec@0: '#address-cells', '#size-cells', 'regulator@0' do not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
/root/leizhen/linux-next/Documentation/devicetree/bindings/sound/google,cros-ec-codec.example.dt.yaml: cros-ec@0: '#address-cells', '#size-cells', 'ec-codec@10500000' do not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml

These errors are fixed by Patch 3 and 4:
Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.example.dts:21.13-30.11: Warning (spi_bus_bridge): /example-0/spi: incorrect #address-cells for SPI bus
Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.example.dts:21.13-30.11: Warning (spi_bus_bridge): /example-0/spi: incorrect #size-cells for SPI bus
Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.example.dt.yaml: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'

Patch 5 and 6 fix the dtbs_check errors detected by Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #address-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #size-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #address-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #size-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dt.yaml: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
/root/leizhen/linux-next/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dt.yaml: slave: 'cmd-gpios' is a required property
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml
/root/leizhen/linux-next/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dt.yaml: slave: 'cmd-gpio' does not match any of the regexes: 'pinctrl-[0-9]+'
        From schema: /root/leizhen/linux-next/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

I have no good idea for this one, so leave it.
Documentation/devicetree/bindings/pci/xilinx-versal-cpm.example.dts:43.62-47.30: Warning (pci_device_reg): /example-0/versal/pcie@fca10000/interrupt-controller: missing PCI reg property


Zhen Lei (6):
  dt-bindings: leds: choose correct color value of multi-led
  dt-bindings: mfd: google,cros-ec: explicitly allow additional
    properties
  spi: dt-bindings: spi-controller: explicitly require
    #address-cells=<0> for slave mode
  dt-bindings: misc: explicitly add #address-cells for slave mode
  ARM: dts: mmp2-olpc-xo-1-75: explicitly add #address-cells=<0> for
    slave mode
  dt-bindings: misc: correct the property name cmd-gpios to cmd-gpio

 .../devicetree/bindings/leds/leds-lp55xx.yaml        |  2 +-
 .../devicetree/bindings/mfd/google,cros-ec.yaml      |  2 +-
 .../devicetree/bindings/misc/olpc,xo1.75-ec.yaml     |  8 +++++---
 .../devicetree/bindings/spi/spi-controller.yaml      | 20 ++++++++++++++------
 arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts              |  2 +-
 5 files changed, 22 insertions(+), 12 deletions(-)

-- 
1.8.3

Comments

Dan Murphy Oct. 13, 2020, 5:32 p.m. UTC | #1
Zhen

On 10/13/20 11:08 AM, Zhen Lei wrote:
> The property name used in arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts is

> cmd-gpio.

>

> arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:235:

> cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

>

> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>

> ---

>   Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml | 6 +++---

>   1 file changed, 3 insertions(+), 3 deletions(-)

>

> diff --git a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> index b3c45c046ba5e37..c7a06a9650db2ed 100644

> --- a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> +++ b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> @@ -24,7 +24,7 @@ properties:

>     compatible:

>       const: olpc,xo1.75-ec

>   

> -  cmd-gpios:

> +  cmd-gpio:


Preference is gpios not gpio. But Rob H accept or reject

Dan
Zhen Lei Oct. 14, 2020, 1:29 a.m. UTC | #2
On 2020/10/14 1:32, Dan Murphy wrote:
> Zhen

> 

> On 10/13/20 11:08 AM, Zhen Lei wrote:

>> The property name used in arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts is

>> cmd-gpio.

>>

>> arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:235:

>> cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

>>

>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>

>> ---

>>   Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml | 6 +++---

>>   1 file changed, 3 insertions(+), 3 deletions(-)

>>

>> diff --git a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

>> index b3c45c046ba5e37..c7a06a9650db2ed 100644

>> --- a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

>> +++ b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

>> @@ -24,7 +24,7 @@ properties:

>>     compatible:

>>       const: olpc,xo1.75-ec

>>   -  cmd-gpios:

>> +  cmd-gpio:

> 

> Preference is gpios not gpio. But Rob H accept or reject


Look at the search result below. It seems that the driver have not been merged into mainline.
But the property name is really used as cmd-gpio at mmp2-olpc-xo-1-75.dts:235, I don't think
the mmp2-olpc-xo-1-75.dts can make a mistake. Otherwise, the driver will not work properly.
Meanwhile, Both names cmd-gpios and cmd-gpio seem to be in use. But I prefer cmd-gpio, after
all, only one gpio is assigned now. The motorola,cmd-gpios add "s" because it contains 3 gpio.

Without this patch:
git grep -wn "cmd-gpios"
Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml:27:  cmd-gpios:
Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml:35:  - cmd-gpios
Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml:52:        cmd-gpios = <&gpio 155 GPIO_ACTIVE_HIGH>;
Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt:10:- motorola,cmd-gpios      Three GPIOs to control the power state of the MDM6600
Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt:22:  motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,
arch/arm/boot/dts/motorola-mapphone-common.dtsi:78:         motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,

git grep -wn "cmd-gpio"
Documentation/devicetree/bindings/leds/leds-ns2.txt:9:- cmd-gpio: Command LED GPIO. See OF device-tree GPIO specification.
Documentation/devicetree/bindings/leds/leds-ns2.txt:12:  the corresponding cmd-gpio/slow-gpio values. All the GPIO values combinations
Documentation/devicetree/bindings/leds/leds-ns2.txt:29:             cmd-gpio = <&gpio0 30 0>;
arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts:90:                       cmd-gpio = <&pca9554 1 GPIO_ACTIVE_HIGH>;
arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts:100:                      cmd-gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>;
arch/arm/boot/dts/kirkwood-d2net.dts:29:                    cmd-gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
arch/arm/boot/dts/kirkwood-is2.dts:31:                      cmd-gpio = <&gpio0 30 0>;
arch/arm/boot/dts/kirkwood-ns2.dts:31:                      cmd-gpio = <&gpio0 30 0>;
arch/arm/boot/dts/kirkwood-ns2max.dts:50:                   cmd-gpio = <&gpio0 30 0>;
arch/arm/boot/dts/kirkwood-ns2mini.dts:51:                  cmd-gpio = <&gpio0 30 0>;
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:235:                cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

> 

> Dan

> 

> 

> _______________________________________________

> linux-arm-kernel mailing list

> linux-arm-kernel@lists.infradead.org

> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

> 

>
Rob Herring (Arm) Oct. 14, 2020, 1:50 p.m. UTC | #3
On Wed, Oct 14, 2020 at 09:29:26AM +0800, Leizhen (ThunderTown) wrote:
> 

> 

> On 2020/10/14 1:32, Dan Murphy wrote:

> > Zhen

> > 

> > On 10/13/20 11:08 AM, Zhen Lei wrote:

> >> The property name used in arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts is

> >> cmd-gpio.

> >>

> >> arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:235:

> >> cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

> >>

> >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>

> >> ---

> >>   Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml | 6 +++---

> >>   1 file changed, 3 insertions(+), 3 deletions(-)

> >>

> >> diff --git a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> >> index b3c45c046ba5e37..c7a06a9650db2ed 100644

> >> --- a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> >> +++ b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> >> @@ -24,7 +24,7 @@ properties:

> >>     compatible:

> >>       const: olpc,xo1.75-ec

> >>   -  cmd-gpios:

> >> +  cmd-gpio:

> > 

> > Preference is gpios not gpio. But Rob H accept or reject

> 

> Look at the search result below. It seems that the driver have not been merged into mainline.


Yes, in drivers/platform/olpc/olpc-xo175-ec.c.

Your mistake is the gpiod api takes just 'cmd' as the GPIO core handles 
both forms.

> But the property name is really used as cmd-gpio at mmp2-olpc-xo-1-75.dts:235, I don't think

> the mmp2-olpc-xo-1-75.dts can make a mistake. Otherwise, the driver will not work properly.

> Meanwhile, Both names cmd-gpios and cmd-gpio seem to be in use. But I prefer cmd-gpio, after

> all, only one gpio is assigned now. The motorola,cmd-gpios add "s" because it contains 3 gpio.


The preference is it is always '-gpios' just like it's always 
'interrupts' or 'clocks'.

However, whether to change this is really up to the OLPC folks. Given 
the driver has always supported both forms, it should be okay to change 
the dts. Though there could be other users besides the kernel.

Rob
Lubomir Rintel Oct. 15, 2020, 7:12 a.m. UTC | #4
Hi,

On Wed, Oct 14, 2020 at 12:08:45AM +0800, Zhen Lei wrote:
> The property name used in arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts is

> cmd-gpio.

> 

> arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:235:

> cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

> 

> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>


Thanks for the patch.

I've sent out an equivalent one some time ago:
https://lore.kernel.org/lkml/20200925234805.228251-3-lkundrak@v3.sk/

In any case, either is fine with me.

Acked-by: Lubomir Rintel <lkundrak@v3.sk>


> ---

>  Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml | 6 +++---

>  1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> index b3c45c046ba5e37..c7a06a9650db2ed 100644

> --- a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> +++ b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

> @@ -24,7 +24,7 @@ properties:

>    compatible:

>      const: olpc,xo1.75-ec

>  

> -  cmd-gpios:

> +  cmd-gpio:

>      description: GPIO uspecifier of the CMD pin

>      maxItems: 1

>  

> @@ -32,7 +32,7 @@ properties:

>  

>  required:

>    - compatible

> -  - cmd-gpios

> +  - cmd-gpio

>  

>  additionalProperties: false

>  

> @@ -49,7 +49,7 @@ examples:

>        slave {

>          compatible = "olpc,xo1.75-ec";

>          spi-cpha;

> -        cmd-gpios = <&gpio 155 GPIO_ACTIVE_HIGH>;

> +        cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

>        };

>      };

>  

> -- 

> 1.8.3

> 

>
Zhen Lei Oct. 15, 2020, 7:32 a.m. UTC | #5
On 2020/10/15 15:12, Lubomir Rintel wrote:
> Hi,

> 

> On Wed, Oct 14, 2020 at 12:08:45AM +0800, Zhen Lei wrote:

>> The property name used in arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts is

>> cmd-gpio.

>>

>> arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:235:

>> cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

>>

>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>

> 

> Thanks for the patch.

> 

> I've sent out an equivalent one some time ago:

> https://lore.kernel.org/lkml/20200925234805.228251-3-lkundrak@v3.sk/

> 

> In any case, either is fine with me.


Geert Uytterhoeven just replied me that the *-gpio form is deprecated. So your
patch is the correct one.

> 

> Acked-by: Lubomir Rintel <lkundrak@v3.sk>

> 

>> ---

>>  Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml | 6 +++---

>>  1 file changed, 3 insertions(+), 3 deletions(-)

>>

>> diff --git a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

>> index b3c45c046ba5e37..c7a06a9650db2ed 100644

>> --- a/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

>> +++ b/Documentation/devicetree/bindings/misc/olpc,xo1.75-ec.yaml

>> @@ -24,7 +24,7 @@ properties:

>>    compatible:

>>      const: olpc,xo1.75-ec

>>  

>> -  cmd-gpios:

>> +  cmd-gpio:

>>      description: GPIO uspecifier of the CMD pin

>>      maxItems: 1

>>  

>> @@ -32,7 +32,7 @@ properties:

>>  

>>  required:

>>    - compatible

>> -  - cmd-gpios

>> +  - cmd-gpio

>>  

>>  additionalProperties: false

>>  

>> @@ -49,7 +49,7 @@ examples:

>>        slave {

>>          compatible = "olpc,xo1.75-ec";

>>          spi-cpha;

>> -        cmd-gpios = <&gpio 155 GPIO_ACTIVE_HIGH>;

>> +        cmd-gpio = <&gpio 155 GPIO_ACTIVE_HIGH>;

>>        };

>>      };

>>  

>> -- 

>> 1.8.3

>>

>>

> 

> _______________________________________________

> linux-arm-kernel mailing list

> linux-arm-kernel@lists.infradead.org

> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

> 

> .

>
Zhen Lei Dec. 4, 2020, 7:48 a.m. UTC | #6
Hi everybody:
  Can somebody apply this patch? When I do any YAML dtbs_check on arm, below Warnings always reported.

arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #address-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): /soc/apb@d4000000/spi@d4037000: incorrect #size-cells for SPI bus
  also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dt.yaml: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'


On 2020/10/14 0:08, Zhen Lei wrote:
> Delete the old property "#address-cells" and then explicitly add it with
> zero value. The value of "#size-cells" is already zero, so keep it no
> change.
> 
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
>  arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts b/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
> index f1a41152e9dd70d..be88b6e551d58e9 100644
> --- a/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
> +++ b/arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts
> @@ -224,7 +224,7 @@
>  
>  &ssp3 {
>  	/delete-property/ #address-cells;
> -	/delete-property/ #size-cells;
> +	#address-cells = <0>;
>  	spi-slave;
>  	status = "okay";
>  	ready-gpio = <&gpio 125 GPIO_ACTIVE_HIGH>;
>