[PATCH v2 16/45] dm: core: Drop the const from ofnode

Simon Glass sjg at chromium.org
Wed Sep 7 04:27:04 CEST 2022


Now that we support writing to ofnodes, the const is not accurate. Drop
it to avoid undesirable casting.

Also drop the ofnode_to_npw() which is now the same as ofnode_to_np().

Signed-off-by: Simon Glass <sjg at chromium.org>
---

(no changes since v1)

 drivers/core/ofnode.c    |  4 ++--
 include/dm/ofnode.h      | 22 ++--------------------
 include/dm/ofnode_decl.h |  2 +-
 3 files changed, 5 insertions(+), 23 deletions(-)

diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 855f5f40647..ac6d259601c 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -206,7 +206,7 @@ ofnode ofnode_find_subnode(ofnode node, const char *subnode_name)
 	debug("%s: %s: ", __func__, subnode_name);
 
 	if (ofnode_is_np(node)) {
-		const struct device_node *np = ofnode_to_np(node);
+		struct device_node *np = ofnode_to_np(node);
 
 		for (np = np->child; np; np = np->sibling) {
 			if (!strcmp(subnode_name, np->name))
@@ -1109,7 +1109,7 @@ int ofnode_write_prop(ofnode node, const char *propname, const void *value,
 		      int len)
 {
 	if (of_live_active())
-		return of_write_prop(ofnode_to_npw(node), propname, len, value);
+		return of_write_prop(ofnode_to_np(node), propname, len, value);
 	else
 		return fdt_setprop((void *)gd->fdt_blob, ofnode_to_offset(node),
 				   propname, value, len);
diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h
index e09127d1ce2..ee762442784 100644
--- a/include/dm/ofnode.h
+++ b/include/dm/ofnode.h
@@ -35,7 +35,7 @@ struct ofnode_phandle_args {
  * @node: Reference containing struct device_node * (possibly invalid)
  * Return: pointer to device node (can be NULL)
  */
-static inline const struct device_node *ofnode_to_np(ofnode node)
+static inline struct device_node *ofnode_to_np(ofnode node)
 {
 #ifdef OF_CHECKS
 	if (!of_live_active())
@@ -44,24 +44,6 @@ static inline const struct device_node *ofnode_to_np(ofnode node)
 	return node.np;
 }
 
-/**
- * ofnode_to_npw() - convert an ofnode to a writeable live DT node pointer
- *
- * This cannot be called if the reference contains an offset.
- *
- * @node: Reference containing struct device_node * (possibly invalid)
- * Return: pointer to device node (can be NULL)
- */
-static inline struct device_node *ofnode_to_npw(ofnode node)
-{
-#ifdef OF_CHECKS
-	if (!of_live_active())
-		return NULL;
-#endif
-	/* Drop constant */
-	return (struct device_node *)node.np;
-}
-
 /**
  * ofnode_to_offset() - convert an ofnode to a flat DT offset
  *
@@ -117,7 +99,7 @@ static inline ofnode offset_to_ofnode(int of_offset)
  * @np: Live node pointer (can be NULL)
  * Return: reference to the associated node pointer
  */
-static inline ofnode np_to_ofnode(const struct device_node *np)
+static inline ofnode np_to_ofnode(struct device_node *np)
 {
 	ofnode node;
 
diff --git a/include/dm/ofnode_decl.h b/include/dm/ofnode_decl.h
index 266253d5e33..8d0d7885aa6 100644
--- a/include/dm/ofnode_decl.h
+++ b/include/dm/ofnode_decl.h
@@ -39,7 +39,7 @@
  *	is not a really a pointer to a node: it is an offset value. See above.
  */
 typedef union ofnode_union {
-	const struct device_node *np;
+	struct device_node *np;
 	long of_offset;
 } ofnode;
 
-- 
2.37.2.789.g6183377224-goog



More information about the U-Boot mailing list