The cells_name field of of_phandle_iterator might be NULL. Use the phandle name instead. With this change we get the more helpful messages: OF: /soc/pinctrl@1000000: phandle pinctrl@1000000 needs 3, found 2 instead of: OF: /soc/pinctrl@1000000: (null) = 3 found 2 That should make DT debugging easier. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> --- drivers/of/base.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c index 64218c614a85..7c03de370913 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1349,9 +1349,14 @@ int of_phandle_iterator_next(struct of_phandle_iterator *it) * property data length */ if (it->cur + count > it->list_end) { - pr_err("%pOF: %s = %d found %ld\n", - it->parent, it->cells_name, - count, it->list_end - it->cur); + if (it->cells_name) + pr_err("%pOF: %s = %d found %ld\n", + it->parent, it->cells_name, + count, it->list_end - it->cur); + else + pr_err("%pOF: phandle %s needs %d, found %ld\n", + it->parent, of_node_full_name(it->node), + count, it->list_end - it->cur); goto err; } } -- 2.34.1