[PATCH 07/19] of: implement of_get_stdoutpath()
Sascha Hauer
s.hauer at pengutronix.de
Fri Jun 25 00:25:28 PDT 2021
For deep probe support it will be useful to have a function to
get the node corresponding to the stdoutpath. of_device_is_stdout_path()
already has that functionality in it, so make a separate funcion from
it.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/of/base.c | 15 ++++++++++-----
include/of.h | 6 ++++++
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 83c9d5fb6b..b40bffe922 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -2453,16 +2453,13 @@ void of_delete_node(struct device_node *node)
of_set_root_node(NULL);
}
-int of_device_is_stdout_path(struct device_d *dev)
+struct device_node *of_get_stdoutpath(void)
{
struct device_node *dn;
const char *name;
const char *p;
char *q;
- if (!dev->device_node)
- return 0;
-
name = of_get_property(of_chosen, "stdout-path", NULL);
if (!name)
name = of_get_property(of_chosen, "linux,stdout-path", NULL);
@@ -2481,7 +2478,15 @@ int of_device_is_stdout_path(struct device_d *dev)
free(q);
- return dn == dev->device_node;
+ return dn;
+}
+
+int of_device_is_stdout_path(struct device_d *dev)
+{
+ if (!dev->device_node)
+ return 0;
+
+ return dev->device_node == of_get_stdoutpath();
}
/**
diff --git a/include/of.h b/include/of.h
index 84d6e9b682..3bce92e848 100644
--- a/include/of.h
+++ b/include/of.h
@@ -281,6 +281,7 @@ struct cdev *of_parse_partition(struct cdev *cdev, struct device_node *node);
int of_parse_partitions(struct cdev *cdev, struct device_node *node);
int of_fixup_partitions(struct device_node *np, struct cdev *cdev);
int of_partitions_register_fixup(struct cdev *cdev);
+struct device_node *of_get_stdoutpath(void);
int of_device_is_stdout_path(struct device_d *dev);
const char *of_get_model(void);
void *of_flatten_dtb(struct device_node *node);
@@ -318,6 +319,11 @@ static inline int of_partitions_register_fixup(struct cdev *cdev)
return -ENOSYS;
}
+static inline struct device_node *of_get_stdoutpath(void)
+{
+ return NULL;
+}
+
static inline int of_device_is_stdout_path(struct device_d *dev)
{
return 0;
--
2.29.2
More information about the barebox
mailing list