[PATCH 02/13] scripts: dtc: checks: don't warn on SPI non-peripheral child nodes

From: David Lechner
Date: Wed Jan 10 2024 - 14:51:32 EST


According to the spi-controller.yaml bindings, SPI peripheral child
nodes match the pattern "^.*@[0-9a-f]+$".

A SPI controller binding may require a child object node that is not a
peripheral. For example, the adi,axi-spi-engine binding requires an
"offloads" child node that is not a peripheral but rather a part of the
controller itself.

By checking for '@' in the node name, we can avoids a warnings like:

Warning (spi_bus_reg): /example-0/spi@44a00000/offloads: missing or empty reg property

for a binding like:

spi {
...

offloads {
offload@0 {
...
};
...
};

peripheral@0 {
...
};
};

Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
---
scripts/dtc/checks.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c
index 9f31d2607182..5af68642f231 100644
--- a/scripts/dtc/checks.c
+++ b/scripts/dtc/checks.c
@@ -1144,6 +1144,10 @@ static void check_spi_bus_reg(struct check *c, struct dt_info *dti, struct node
if (!node->parent || (node->parent->bus != &spi_bus))
return;

+ /* only nodes with '@' in name are SPI devices */
+ if (!strchr(unitname, '@'))
+ return;
+
if (get_property(node->parent, "spi-slave"))
return;


--
2.43.0