[PATCH v3 2/6] common: console_common: add of_console_get_by_alias() helper
Oleksij Rempel
o.rempel at pengutronix.de
Thu Aug 13 08:55:10 EDT 2020
Add helper function to get console device by devicetree alias
Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
---
common/console_common.c | 18 ++++++++++++++++++
include/console.h | 1 +
2 files changed, 19 insertions(+)
diff --git a/common/console_common.c b/common/console_common.c
index a174c2deed..8cd57e623d 100644
--- a/common/console_common.c
+++ b/common/console_common.c
@@ -23,6 +23,7 @@
#include <environment.h>
#include <globalvar.h>
#include <magicvar.h>
+#include <of.h>
#include <password.h>
#include <clock.h>
#include <malloc.h>
@@ -323,6 +324,23 @@ struct console_device *console_get_first_active(void)
}
EXPORT_SYMBOL(console_get_first_active);
+struct console_device *of_console_get_by_alias(const char *alias)
+{
+ struct device_node *node;
+ struct device_d *dev;
+
+ node = of_find_node_by_alias(NULL, alias);
+ if (!node)
+ return NULL;
+
+ dev = of_find_device_by_node(node);
+ if (!dev)
+ return NULL;
+
+ return console_get_by_dev(dev);
+}
+EXPORT_SYMBOL(of_console_get_by_alias);
+
#endif /* !CONFIG_CONSOLE_NONE */
int dprintf(int file, const char *fmt, ...)
diff --git a/include/console.h b/include/console.h
index 5b5c037026..a71d0da42e 100644
--- a/include/console.h
+++ b/include/console.h
@@ -87,6 +87,7 @@ int console_unregister(struct console_device *cdev);
struct console_device *console_get_by_dev(struct device_d *dev);
struct console_device *console_get_by_name(const char *name);
+struct console_device *of_console_get_by_alias(const char *alias);
extern struct list_head console_list;
#define for_each_console(console) list_for_each_entry(console, &console_list, list)
--
2.28.0
More information about the barebox
mailing list