[U-Boot] [PATCH 1/8] fdt: Fix up stdout correctly in fdt_fixup_stdout()
Bin Meng
bmeng.cn at gmail.com
Thu Dec 31 09:53:03 CET 2015
When CONFIG_OF_STDOUT_VIA_ALIAS is on, always fix up kernel's stdout
string with hardcoded CONFIG_CONS_INDEX.
This actually reverts commit 3e303f748cf57fb23e8ec95ab7eac0074be50e2b
"fdt_support: Add multi-serial support for stdout fixup", as the fix
up in the /aliases node did not work under the following scenarios:
- Not every non-DM serial driver was written to have a driver name
that conforms the format of "serial%d" or "eserial%d".
- With driver model serial, the stdio_devices[] stores the serial
device node name in the device tree.
Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
---
common/fdt_support.c | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 66464db..4ce17d4 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -131,18 +131,6 @@ static int fdt_fixup_stdout(void *fdt, int chosenoff)
OF_STDOUT_PATH, strlen(OF_STDOUT_PATH) + 1);
}
#elif defined(CONFIG_OF_STDOUT_VIA_ALIAS) && defined(CONFIG_CONS_INDEX)
-static void fdt_fill_multisername(char *sername, size_t maxlen)
-{
- const char *outname = stdio_devices[stdout]->name;
-
- if (strcmp(outname, "serial") > 0)
- strncpy(sername, outname, maxlen);
-
- /* eserial? */
- if (strcmp(outname + 1, "serial") > 0)
- strncpy(sername, outname + 1, maxlen);
-}
-
static int fdt_fixup_stdout(void *fdt, int chosenoff)
{
int err;
@@ -152,9 +140,7 @@ static int fdt_fixup_stdout(void *fdt, int chosenoff)
int len;
char tmp[256]; /* long enough */
- fdt_fill_multisername(sername, sizeof(sername) - 1);
- if (!sername[0])
- sprintf(sername, "serial%d", CONFIG_CONS_INDEX - 1);
+ sprintf(sername, "serial%d", CONFIG_CONS_INDEX - 1);
aliasoff = fdt_path_offset(fdt, "/aliases");
if (aliasoff < 0) {
--
1.8.2.1
More information about the U-Boot
mailing list