[U-Boot] [PATCH v3 2/4] fdtdec: only create phandle if caller wants it in fdtdec_add_reserved_memory()
Heiko Stuebner
heiko at sntech.de
Wed Oct 23 14:46:39 UTC 2019
From: Heiko Stuebner <heiko.stuebner at theobroma-systems.com>
The phandlep pointer returning the phandle to the caller is optional
and if it is not set when calling fdtdec_add_reserved_memory() it is
highly likely that the caller is not interested in a phandle to the
created reserved-memory area and really just wants that area added.
So just don't create a phandle in that case.
Signed-off-by: Heiko Stuebner <heiko.stuebner at theobroma-systems.com>
---
changes in v2:
- update function comment
include/fdtdec.h | 2 +-
lib/fdtdec.c | 16 +++++++++-------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/include/fdtdec.h b/include/fdtdec.h
index 54509a25ad..fe8e7770ec 100644
--- a/include/fdtdec.h
+++ b/include/fdtdec.h
@@ -1078,7 +1078,7 @@ static inline int fdtdec_set_phandle(void *blob, int node, uint32_t phandle)
* @param basename base name of the node to create
* @param carveout information about the carveout region
* @param phandlep return location for the phandle of the carveout region
- * can be NULL
+ * can be NULL if no phandle should be added
* @return 0 on success or a negative error code on failure
*/
int fdtdec_add_reserved_memory(void *blob, const char *basename,
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index d7c3684145..c841aafa2a 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1393,13 +1393,15 @@ int fdtdec_add_reserved_memory(void *blob, const char *basename,
if (node < 0)
return node;
- err = fdt_generate_phandle(blob, &phandle);
- if (err < 0)
- return err;
-
- err = fdtdec_set_phandle(blob, node, phandle);
- if (err < 0)
- return err;
+ if (phandlep) {
+ err = fdt_generate_phandle(blob, &phandle);
+ if (err < 0)
+ return err;
+
+ err = fdtdec_set_phandle(blob, node, phandle);
+ if (err < 0)
+ return err;
+ }
/* store one or two address cells */
if (na > 1)
--
2.23.0
More information about the U-Boot
mailing list