fdt: Tidy debugging, add to fdtdec_get_int/addr()
The new debugging shows the value of integers and addresses read from the device tree and tidy up GPIO output. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
1bbd28d215
commit
1cb2323b8a
27
lib/fdtdec.c
27
lib/fdtdec.c
@ -79,11 +79,16 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node,
|
|||||||
const fdt_addr_t *cell;
|
const fdt_addr_t *cell;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
debug("get_addr: %s\n", prop_name);
|
debug("%s: %s: ", __func__, prop_name);
|
||||||
cell = fdt_getprop(blob, node, prop_name, &len);
|
cell = fdt_getprop(blob, node, prop_name, &len);
|
||||||
if (cell && (len == sizeof(fdt_addr_t) ||
|
if (cell && (len == sizeof(fdt_addr_t) ||
|
||||||
len == sizeof(fdt_addr_t) * 2))
|
len == sizeof(fdt_addr_t) * 2)) {
|
||||||
return fdt_addr_to_cpu(*cell);
|
fdt_addr_t addr = fdt_addr_to_cpu(*cell);
|
||||||
|
|
||||||
|
debug("%p\n", (void *)addr);
|
||||||
|
return addr;
|
||||||
|
}
|
||||||
|
debug("(not found)\n");
|
||||||
return FDT_ADDR_T_NONE;
|
return FDT_ADDR_T_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,10 +98,15 @@ s32 fdtdec_get_int(const void *blob, int node, const char *prop_name,
|
|||||||
const s32 *cell;
|
const s32 *cell;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
debug("get_size: %s\n", prop_name);
|
debug("%s: %s: ", __func__, prop_name);
|
||||||
cell = fdt_getprop(blob, node, prop_name, &len);
|
cell = fdt_getprop(blob, node, prop_name, &len);
|
||||||
if (cell && len >= sizeof(s32))
|
if (cell && len >= sizeof(s32)) {
|
||||||
return fdt32_to_cpu(cell[0]);
|
s32 val = fdt32_to_cpu(cell[0]);
|
||||||
|
|
||||||
|
debug("%#x (%d)\n", val, val);
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
debug("(not found)\n");
|
||||||
return default_val;
|
return default_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,6 +338,7 @@ int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name)
|
|||||||
const u32 *phandle;
|
const u32 *phandle;
|
||||||
int lookup;
|
int lookup;
|
||||||
|
|
||||||
|
debug("%s: %s\n", __func__, prop_name);
|
||||||
phandle = fdt_getprop(blob, node, prop_name, NULL);
|
phandle = fdt_getprop(blob, node, prop_name, NULL);
|
||||||
if (!phandle)
|
if (!phandle)
|
||||||
return -FDT_ERR_NOTFOUND;
|
return -FDT_ERR_NOTFOUND;
|
||||||
@ -427,7 +438,7 @@ static int fdtdec_decode_gpios(const void *blob, int node,
|
|||||||
assert(max_count > 0);
|
assert(max_count > 0);
|
||||||
prop = fdt_get_property(blob, node, prop_name, &len);
|
prop = fdt_get_property(blob, node, prop_name, &len);
|
||||||
if (!prop) {
|
if (!prop) {
|
||||||
debug("FDT: %s: property '%s' missing\n", __func__, prop_name);
|
debug("%s: property '%s' missing\n", __func__, prop_name);
|
||||||
return -FDT_ERR_NOTFOUND;
|
return -FDT_ERR_NOTFOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -436,7 +447,7 @@ static int fdtdec_decode_gpios(const void *blob, int node,
|
|||||||
cell = (u32 *)prop->data;
|
cell = (u32 *)prop->data;
|
||||||
len /= sizeof(u32) * 3; /* 3 cells per GPIO record */
|
len /= sizeof(u32) * 3; /* 3 cells per GPIO record */
|
||||||
if (len > max_count) {
|
if (len > max_count) {
|
||||||
debug("FDT: %s: too many GPIOs / cells for "
|
debug(" %s: too many GPIOs / cells for "
|
||||||
"property '%s'\n", __func__, prop_name);
|
"property '%s'\n", __func__, prop_name);
|
||||||
return -FDT_ERR_BADLAYOUT;
|
return -FDT_ERR_BADLAYOUT;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user