Commit faaa30dd authored by Zhen Lei's avatar Zhen Lei Committed by Rob Herring
Browse files

spi: dt-bindings: spi-controller: explicitly require #address-cells=<0> for slave mode



scripts/dtc/checks.c:
if (get_property(node, "spi-slave"))
	spi_addr_cells = 0;
if (node_addr_cells(node) != spi_addr_cells)
	FAIL(c, dti, node, "incorrect #address-cells for SPI bus");
if (node_size_cells(node) != 0)
	FAIL(c, dti, node, "incorrect #size-cells for SPI bus");

The above code in check_spi_bus_bridge() require that the number of address
cells must be 0. So we should explicitly declare "#address-cells = <0>".

Signed-off-by: default avatarZhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20201013160845.1772-4-thunder.leizhen@huawei.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 44184828
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ properties:
    pattern: "^spi(@.*|-[0-9a-f])*$"

  "#address-cells":
    const: 1
    enum: [0, 1]

  "#size-cells":
    const: 0
@@ -52,11 +52,19 @@ properties:
    description:
      The SPI controller acts as a slave, instead of a master.

oneOf:
  - required:
      - "#address-cells"
  - required:
allOf:
  - if:
      not:
        required:
          - spi-slave
    then:
      properties:
        "#address-cells":
          const: 1
    else:
      properties:
        "#address-cells":
          const: 0

patternProperties:
  "^slave$":