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@xxxxxxxxxxxxxx> --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox