dm: fdt: Correct handling of aliases with embedded digits
Since we scan from left to right looking for the first digit, "i2c0" returns 2 instead of 0 for the alias number. Adjust the code to scan from right to left instead. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de> Reviewed-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
479728cb0c
commit
a88340dfcf
lib
|
@ -355,9 +355,9 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int offset,
|
|||
slash = strrchr(prop, '/');
|
||||
if (strcmp(slash + 1, find_name))
|
||||
continue;
|
||||
for (p = name; *p; p++) {
|
||||
if (isdigit(*p)) {
|
||||
*seqp = simple_strtoul(p, NULL, 10);
|
||||
for (p = name + strlen(name) - 1; p > name; p--) {
|
||||
if (!isdigit(*p)) {
|
||||
*seqp = simple_strtoul(p + 1, NULL, 10);
|
||||
debug("Found seq %d\n", *seqp);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue