diff options
author | Burt P <pburt0@gmail.com> | 2017-07-22 03:03:53 -0500 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2017-07-22 14:24:27 -0700 |
commit | 9870e396bc02f3717cf9fc1000436c46f1dcf1eb (patch) | |
tree | 1c7ea92a1fb905240ad9a165a1d56998abe37ce5 /modules/devices/devicetree.c | |
parent | ca4a9ce41de942241b6a26ad83a5218d2d735b2e (diff) |
device tree: group interrupt specifiers' values using #interrupt-cells
Also, add a message log to the dtr object.
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'modules/devices/devicetree.c')
-rw-r--r-- | modules/devices/devicetree.c | 24 |
1 files changed, 24 insertions, 0 deletions
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); } |