diff options
| author | Leandro Pereira <leandro@hardinfo.org> | 2017-08-27 11:52:35 -0700 | 
|---|---|---|
| committer | Leandro Pereira <leandro@hardinfo.org> | 2017-09-03 08:53:02 -0700 | 
| commit | 7246334f6c2b3ac3f89145a02da13c335f644e34 (patch) | |
| tree | 33daecf974f186c73267829506f1d1c5af00cf7b /modules/devices | |
| parent | 7887920251aa54177cd4f5416430cdf211f4925f (diff) | |
Clean up device tree code
- No need for a global dtr variable: just pass it around as parameters
- Internal functions marked static
Diffstat (limited to 'modules/devices')
| -rw-r--r-- | modules/devices/devicetree.c | 46 | 
1 files changed, 24 insertions, 22 deletions
| diff --git a/modules/devices/devicetree.c b/modules/devices/devicetree.c index 6fce066a..b4f89bf2 100644 --- a/modules/devices/devicetree.c +++ b/modules/devices/devicetree.c @@ -32,10 +32,9 @@  #include "devicetree/rpi_data.c"  #include "devicetree/pmac_data.c" -dtr *dt;  gchar *dtree_info = NULL; -gchar *get_node(char *np) { +static gchar *get_node(dtr *dt, char *np) {      gchar *nodes = NULL, *props = NULL, *ret = NULL;      gchar *tmp = NULL, *pstr = NULL, *lstr = NULL;      gchar *dir_path; @@ -90,29 +89,34 @@ gchar *get_node(char *np) {      dtr_obj_free(node);      g_free(props);      g_free(nodes); +      return ret;  }  /* different from  dtr_get_string() in that it re-uses the existing dt */ -char *get_dt_string(char *path, int decode) { -    dtr_obj *obj; -    char *ret = NULL; +static char *get_dt_string(dtr *dt, char *path, gboolean decode) { +    char *ret; +      if (decode) { -        obj = dtr_get_prop_obj(dt, NULL, path); +        dtr_obj *obj = dtr_get_prop_obj(dt, NULL, path); +          ret = dtr_str(obj); +          dtr_obj_free(obj); -    } else +    } else {          ret = dtr_get_prop_str(dt, NULL, path); +    } +      return ret;  } -gchar *get_summary() { +static gchar *get_summary(dtr *dt) {      char *model = NULL, *compat = NULL;      char *tmp[10];      char *ret = NULL; -    model = get_dt_string("/model", 0); -    compat = get_dt_string("/compatible", 1); +    model = get_dt_string(dt, "/model", 0); +    compat = get_dt_string(dt, "/compatible", 1);      UNKIFNULL(model);      EMPIFNULL(compat); @@ -124,8 +128,8 @@ gchar *get_summary() {       * machine identifiers in /proc/cpuinfo. */      if ( strstr(model, "Raspberry Pi") != NULL          || strstr(compat, "raspberrypi") != NULL ) { -        tmp[0] = get_dt_string("/serial-number", 1); -        tmp[1] = get_dt_string("/soc/gpu/compatible", 1); +        tmp[0] = get_dt_string(dt, "/serial-number", 1); +        tmp[1] = get_dt_string(dt, "/soc/gpu/compatible", 1);          tmp[9] = rpi_board_details();          tmp[8] = g_strdup_printf(                  "[%s]\n" "%s=%s\n" "%s=%s\n", @@ -153,7 +157,7 @@ gchar *get_summary() {           || strstr(compat, "Power Macintosh") != NULL) {          tmp[9] =  ppc_mac_details();          if (tmp[9] != NULL) { -            tmp[0] = get_dt_string("/serial-number", 1); +            tmp[0] = get_dt_string(dt, "/serial-number", 1);              ret = g_strdup_printf(                  "%s[%s]\n" "%s=%s\n", tmp[9],                  _("More"), @@ -165,7 +169,7 @@ gchar *get_summary() {      /* fallback */      if (ret == NULL) { -        tmp[0] = get_dt_string("/serial-number", 1); +        tmp[0] = get_dt_string(dt, "/serial-number", 1);          EMPIFNULL(tmp[0]);          ret = g_strdup_printf(                  "[%s]\n" @@ -182,7 +186,7 @@ gchar *get_summary() {      return ret;  } -void mi_add(const char *key, const char *value) { +static void mi_add(const char *key, const char *value) {      gchar *ckey, *rkey;      ckey = hardinfo_clean_label(key, 0); @@ -195,7 +199,7 @@ void mi_add(const char *key, const char *value) {      g_free(rkey);  } -void add_keys(char *np) { +static void add_keys(dtr *dt, char *np) {      gchar *dir_path, *dt_path;      gchar *ftmp, *ntmp;      gchar *n_info; @@ -228,7 +232,7 @@ void add_keys(char *np) {      g_dir_close(dir);  } -char *msg_section(int dump) { +static char *msg_section(dtr *dt, int dump) {      gchar *aslbl = NULL;      gchar *messages = dtr_messages(dt);      gchar *ret = g_strdup_printf("[%s]\n", _("Messages")); @@ -249,8 +253,8 @@ char *msg_section(int dump) {  void __scan_dtree()  { -    dt = dtr_new(NULL); -    gchar *summary = get_summary(); +    dtr *dt = dtr_new(NULL); +    gchar *summary = get_summary(dt);      gchar *maps = dtr_maps_info(dt);      gchar *messages = NULL; @@ -260,11 +264,9 @@ void __scan_dtree()      if(dtr_was_found(dt))          add_keys("/"); -    messages = msg_section(0); +    messages = msg_section(dt, 0);      mi_add("Messages", messages); -    //printf("%s\n", dtree_info); -      g_free(summary);      g_free(maps);      g_free(messages); | 
