diff mbox series

[v2,2/2] of: base: Improve argument length mismatch error

Message ID f6a68e0088a552ea9dfd4d8e3b5b586d92594738.1640881913.git.baruch@tkos.co.il
State Accepted
Commit 5d05b811b5acb92fc581a7b328b36646c86f5ab9
Headers show
Series [v2,1/2] of: base: Fix phandle argument length mismatch error message | expand

Commit Message

Baruch Siach Dec. 30, 2021, 4:31 p.m. UTC
The cells_name field of of_phandle_iterator might be NULL. Use the
phandle name instead. With this change instead of:

  OF: /soc/pinctrl@1000000: (null) = 3 found 2

We get:

  OF: /soc/pinctrl@1000000: phandle pinctrl@1000000 needs 3, found 2

Which is a more helpful messages making DT debugging easier.

In this particular example the phandle name looks like duplicate of the
same node name. But note that the first node is the parent node
(it->parent), while the second is the phandle target (it->node). They
happen to be the same in the case that triggered this improvement. See
commit 72cb4c48a46a ("arm64: dts: qcom: ipq6018: Fix gpio-ranges
property").

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Note that commit 72cb4c48a46a mentioned above is currently in the
arm64-for-5.17 branch of the qcom git tree.

v2:

  Extend the commit log to explain the apparent node name duplication
---
 drivers/of/base.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Rob Herring (Arm) Jan. 7, 2022, 11:30 p.m. UTC | #1
On Thu, 30 Dec 2021 18:31:53 +0200, Baruch Siach wrote:
> The cells_name field of of_phandle_iterator might be NULL. Use the
> phandle name instead. With this change instead of:
> 
>   OF: /soc/pinctrl@1000000: (null) = 3 found 2
> 
> We get:
> 
>   OF: /soc/pinctrl@1000000: phandle pinctrl@1000000 needs 3, found 2
> 
> Which is a more helpful messages making DT debugging easier.
> 
> In this particular example the phandle name looks like duplicate of the
> same node name. But note that the first node is the parent node
> (it->parent), while the second is the phandle target (it->node). They
> happen to be the same in the case that triggered this improvement. See
> commit 72cb4c48a46a ("arm64: dts: qcom: ipq6018: Fix gpio-ranges
> property").
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---
> Note that commit 72cb4c48a46a mentioned above is currently in the
> arm64-for-5.17 branch of the qcom git tree.
> 
> v2:
> 
>   Extend the commit log to explain the apparent node name duplication
> ---
>  drivers/of/base.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 

Applied, thanks!
diff mbox series

Patch

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 81b956ab2348..09905b5e7b43 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 %td\n",
-			       it->parent, it->cells_name,
-			       count, it->list_end - it->cur);
+			if (it->cells_name)
+				pr_err("%pOF: %s = %d found %td\n",
+					it->parent, it->cells_name,
+					count, it->list_end - it->cur);
+			else
+				pr_err("%pOF: phandle %s needs %d, found %td\n",
+					it->parent, of_node_full_name(it->node),
+					count, it->list_end - it->cur);
 			goto err;
 		}
 	}