diff mbox series

dm: add cells_count parameter in live DT APIs of_parse_phandle_with_args

Message ID 20200910162617.28257-1-patrick.delaunay@st.com
State Accepted
Commit 01d89e3d12e07a1a1ee0f8528706441a84eee328
Delegated to: Simon Glass
Headers show
Series dm: add cells_count parameter in live DT APIs of_parse_phandle_with_args | expand

Commit Message

Patrick DELAUNAY Sept. 10, 2020, 4:26 p.m. UTC
In the live tree API ofnode_parse_phandle_with_args, the cell_count
argument must be used when cells_name is NULL.

But this argument is not provided to the live DT function
of_parse_phandle_with_args even it is provided to
fdtdec_parse_phandle_with_args.

This patch adds support of the cells_count parameter in dev_ and
of_node API to allow migration and support of live DT:
- of_parse_phandle_with_args

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
---

 drivers/core/of_access.c | 7 ++++---
 drivers/core/ofnode.c    | 3 ++-
 include/dm/of_access.h   | 4 +++-
 3 files changed, 9 insertions(+), 5 deletions(-)

Comments

Simon Glass Sept. 17, 2020, 1:09 a.m. UTC | #1
On Thu, 10 Sep 2020 at 10:26, Patrick Delaunay <patrick.delaunay@st.com> wrote:
>
> In the live tree API ofnode_parse_phandle_with_args, the cell_count
> argument must be used when cells_name is NULL.
>
> But this argument is not provided to the live DT function
> of_parse_phandle_with_args even it is provided to
> fdtdec_parse_phandle_with_args.
>
> This patch adds support of the cells_count parameter in dev_ and
> of_node API to allow migration and support of live DT:
> - of_parse_phandle_with_args
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
>
>  drivers/core/of_access.c | 7 ++++---
>  drivers/core/ofnode.c    | 3 ++-
>  include/dm/of_access.h   | 4 +++-
>  3 files changed, 9 insertions(+), 5 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Simon Glass Sept. 27, 2020, 1:59 a.m. UTC | #2
On Thu, 10 Sep 2020 at 10:26, Patrick Delaunay <patrick.delaunay@st.com> wrote:
>
> In the live tree API ofnode_parse_phandle_with_args, the cell_count
> argument must be used when cells_name is NULL.
>
> But this argument is not provided to the live DT function
> of_parse_phandle_with_args even it is provided to
> fdtdec_parse_phandle_with_args.
>
> This patch adds support of the cells_count parameter in dev_ and
> of_node API to allow migration and support of live DT:
> - of_parse_phandle_with_args
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
>
>  drivers/core/of_access.c | 7 ++++---
>  drivers/core/ofnode.c    | 3 ++-
>  include/dm/of_access.h   | 4 +++-
>  3 files changed, 9 insertions(+), 5 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot-dm/next, thanks!
diff mbox series

Patch

diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c
index 922e78f99b..bcf1644d05 100644
--- a/drivers/core/of_access.c
+++ b/drivers/core/of_access.c
@@ -745,13 +745,14 @@  struct device_node *of_parse_phandle(const struct device_node *np,
 
 int of_parse_phandle_with_args(const struct device_node *np,
 			       const char *list_name, const char *cells_name,
-			       int index, struct of_phandle_args *out_args)
+			       int cell_count, int index,
+			       struct of_phandle_args *out_args)
 {
 	if (index < 0)
 		return -EINVAL;
 
-	return __of_parse_phandle_with_args(np, list_name, cells_name, 0,
-					    index, out_args);
+	return __of_parse_phandle_with_args(np, list_name, cells_name,
+					    cell_count, index, out_args);
 }
 
 int of_count_phandle_with_args(const struct device_node *np,
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index d02d8d33fe..79fcdf5ce2 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -409,7 +409,8 @@  int ofnode_parse_phandle_with_args(ofnode node, const char *list_name,
 		int ret;
 
 		ret = of_parse_phandle_with_args(ofnode_to_np(node),
-						 list_name, cells_name, index,
+						 list_name, cells_name,
+						 cell_count, index,
 						 &args);
 		if (ret)
 			return ret;
diff --git a/include/dm/of_access.h b/include/dm/of_access.h
index f95a00d065..2fa65c9332 100644
--- a/include/dm/of_access.h
+++ b/include/dm/of_access.h
@@ -407,6 +407,7 @@  struct device_node *of_parse_phandle(const struct device_node *np,
  * @np:		pointer to a device tree node containing a list
  * @list_name:	property name that contains a list
  * @cells_name:	property name that specifies phandles' arguments count
+ * @cells_count: Cell count to use if @cells_name is NULL
  * @index:	index of a phandle to parse out
  * @out_args:	optional pointer to output arguments structure (will be filled)
  * @return 0 on success (with @out_args filled out if not NULL), -ENOENT if
@@ -440,7 +441,8 @@  struct device_node *of_parse_phandle(const struct device_node *np,
  */
 int of_parse_phandle_with_args(const struct device_node *np,
 			       const char *list_name, const char *cells_name,
-			       int index, struct of_phandle_args *out_args);
+			       int cells_count, int index,
+			       struct of_phandle_args *out_args);
 
 /**
  * of_count_phandle_with_args() - Count the number of phandle in a list