From 9870e396bc02f3717cf9fc1000436c46f1dcf1eb Mon Sep 17 00:00:00 2001 From: Burt P Date: Sat, 22 Jul 2017 03:03:53 -0500 Subject: device tree: group interrupt specifiers' values using #interrupt-cells Also, add a message log to the dtr object. Signed-off-by: Burt P --- modules/devices/devicetree.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'modules/devices/devicetree.c') diff --git a/modules/devices/devicetree.c b/modules/devices/devicetree.c index 7252323b..c6207972 100644 --- a/modules/devices/devicetree.c +++ b/modules/devices/devicetree.c @@ -260,20 +260,44 @@ void add_keys(char *np) { g_dir_close(dir); } +char *msg_section(int dump) { + gchar *aslbl = NULL; + gchar *messages = dtr_messages(dt); + gchar *ret = g_strdup_printf("[%s]\n", _("Messages")); + gchar **lines = g_strsplit(messages, "\n", 0); + int i = 0; + while(lines[i] != NULL) { + aslbl = hardinfo_clean_label(lines[i], 0); + ret = appf(ret, "%s=\n", aslbl); + g_free(aslbl); + i++; + } + g_strfreev(lines); + if (dump) + printf(messages); + g_free(messages); + return ret; +} + void __scan_dtree() { dt = dtr_new(NULL); gchar *summary = get_summary(); gchar *maps = dtr_maps_info(dt); + gchar *messages = NULL; dtree_info = g_strdup("[Device Tree]\n"); mi_add("Summary", summary); mi_add("Maps", maps); add_keys("/"); + messages = msg_section(0); + mi_add("Messages", messages); //printf("%s\n", dtree_info); + g_free(summary); g_free(maps); + g_free(messages); dtr_free(dt); } -- cgit v1.2.3