mbox series

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

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

Message

Leizhen (ThunderTown) 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(-)

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
Leizhen (ThunderTown) 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 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
Leizhen (ThunderTown) Oct. 15, 2020, 3:23 a.m. UTC | #4
On 2020/10/14 21:50, Rob Herring wrote:
> 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.

OK, thanks for your information. I have found that it defined by gpio_suffixes[].

> 
>> 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.

If both "cmd-gpios" and "cmd-gpio" are supported, should we use enum to list both
of them in yaml? or use patternProperties?

I'm going to send v2 based on this idea.

> 
> Rob
> 
> .
>
Rob Herring Oct. 16, 2020, 2:13 p.m. UTC | #5
On Wed, Oct 14, 2020 at 10:23 PM Leizhen (ThunderTown)
<thunder.leizhen@huawei.com> wrote:
>
>
>
> On 2020/10/14 21:50, Rob Herring wrote:
> > 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.
>
> OK, thanks for your information. I have found that it defined by gpio_suffixes[].
>
> >
> >> 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.
>
> If both "cmd-gpios" and "cmd-gpio" are supported, should we use enum to list both
> of them in yaml? or use patternProperties?

No, we pick one or the other. Given Lubomir is okay with a dts change,
we should use just 'cmd-gpios'.

Rob