This was missing an fdt32_to_cpu() call so got the name pointer wrong. If the GPIO module looks at it, this would cause a problem.
Signed-off-by: Simon Glass <s...@chromium.org> --- lib/fdtdec.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/lib/fdtdec.c b/lib/fdtdec.c index bcb2343..f7d0c95 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -418,7 +418,7 @@ static int fdtdec_decode_gpios(const void *blob, int node, } /* We will use the name to tag the GPIO */ - name = fdt_string(blob, prop->nameoff); + name = fdt_string(blob, fdt32_to_cpu(prop->nameoff)); cell = (u32 *)prop->data; len /= sizeof(u32) * 3; /* 3 cells per GPIO record */ if (len > max_count) { @@ -444,6 +444,7 @@ int fdtdec_decode_gpio(const void *blob, int node, const char *prop_name, debug("%s: %s\n", __func__, prop_name); gpio->gpio = FDT_GPIO_NONE; + gpio->name = NULL; err = fdtdec_decode_gpios(blob, node, prop_name, gpio, 1); return err == 1 ? 0 : err; } -- 1.7.7.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot