diff options
| -rw-r--r-- | includes/dt_util.h | 12 | ||||
| -rw-r--r-- | modules/devices/devicetree.c | 4 | ||||
| -rw-r--r-- | modules/devices/devicetree/dt_util.c | 4 | 
3 files changed, 12 insertions, 8 deletions
| diff --git a/includes/dt_util.h b/includes/dt_util.h index e044def7..fdaf1c4c 100644 --- a/includes/dt_util.h +++ b/includes/dt_util.h @@ -42,15 +42,19 @@ dtr_obj *dtr_obj_read(dtr *, const char *dtp);  void dtr_obj_free(dtr_obj *);  int dtr_obj_type(dtr_obj *);  char *dtr_obj_alias(dtr_obj *); -char *dtr_obj_path(dtr_obj *); -char *dtr_obj_full_path(dtr_obj *); +char *dtr_obj_path(dtr_obj *);        /* device tree path */ +char *dtr_obj_full_path(dtr_obj *);   /* system path */ -char* dtr_str(dtr *, dtr_obj *obj); +/* find property/node 'name' relative to node + * if node is NULL, then from root */  dtr_obj *dtr_get_prop_obj(dtr *, dtr_obj *node, const char *name);  char *dtr_get_prop_str(dtr *, dtr_obj *node, const char *name);  uint32_t dtr_get_prop_u32(dtr *, dtr_obj *node, const char *name); -static int dtr_guess_type(dtr_obj *obj); +/* attempts to render the object as a string */ +char* dtr_str(dtr_obj *obj); + +int dtr_guess_type(dtr_obj *obj);  char *dtr_elem_phref(dtr *, dt_uint e);  char *dtr_elem_hex(dt_uint e);  char *dtr_elem_byte(uint8_t e); diff --git a/modules/devices/devicetree.c b/modules/devices/devicetree.c index b3a9d621..3dc6f60a 100644 --- a/modules/devices/devicetree.c +++ b/modules/devices/devicetree.c @@ -106,7 +106,7 @@ gchar *get_node(char *np) {      if (dir) {          while((fn = g_dir_read_name(dir)) != NULL) {              child = dtr_get_prop_obj(dt, node, fn); -            pstr = hardinfo_clean_value(dtr_str(dt, child), 1); +            pstr = hardinfo_clean_value(dtr_str(child), 1);              lstr = hardinfo_clean_label(fn, 0);              if (dtr_obj_type(child) == DT_NODE) {                  tmp = g_strdup_printf("%s%s=%s\n", @@ -148,7 +148,7 @@ char *get_dt_string(char *path, int decode) {      char *ret = NULL;      if (decode) {          obj = dtr_get_prop_obj(dt, NULL, path); -        ret = dtr_str(dt, obj); +        ret = dtr_str(obj);          dtr_obj_free(obj);      } else          ret = dtr_get_prop_str(dt, NULL, path); diff --git a/modules/devices/devicetree/dt_util.c b/modules/devices/devicetree/dt_util.c index 7c713c4f..3d8f1ce8 100644 --- a/modules/devices/devicetree/dt_util.c +++ b/modules/devices/devicetree/dt_util.c @@ -454,7 +454,7 @@ char *dtr_list_str0(const char *data, uint32_t length) {      return strdup(ret);  } -char* dtr_str(dtr *s, dtr_obj *obj) { +char* dtr_str(dtr_obj *obj) {      char *ret;      int type; @@ -484,7 +484,7 @@ char* dtr_str(dtr *s, dtr_obj *obj) {                  ret = dtr_list_hex(obj->data, obj->length / 4);              break;          case DTP_PH_REF: -            ret = dtr_elem_phref(s, *obj->data_int); +            ret = dtr_elem_phref(obj->dt, *obj->data_int);              break;          case DTP_UINT:              ret = dtr_elem_uint(*obj->data_int); | 
