of: Improve of_phandle_iterator_next() error message
authorFlorian Fainelli <f.fainelli@gmail.com>
Wed, 3 Apr 2019 17:56:33 +0000 (10:56 -0700)
committerRob Herring <robh@kernel.org>
Wed, 10 Apr 2019 21:33:48 +0000 (16:33 -0500)
Understanding why of_phandle_iterator_next() returns an error can
sometimes be hard to decipher based solely on the error message, a
typical error example is that #foo-cells = <X> and the phandle property
used has a smaller number of cells specified, e.g.:

#thermal-sensor-cells = <1>;
phandle = <&scmi_sensor>

instead of:

phandle <&scmi_sensor 0>;

Instead, make it clear what the expectations are towards debugging
incorrect Device Tree faster:

OF: /thermal-zones/scmi-thermal: #thermal-sensor-cells = 1, found 0 instead

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/base.c

index 5226e89..20e0e7e 100644 (file)
@@ -1350,8 +1350,9 @@ int of_phandle_iterator_next(struct of_phandle_iterator *it)
                 * property data length
                 */
                if (it->cur + count > it->list_end) {
-                       pr_err("%pOF: arguments longer than property\n",
-                              it->parent);
+                       pr_err("%pOF: %s = %d found %d\n",
+                              it->parent, it->cells_name,
+                              count, it->cell_count);
                        goto err;
                }
        }