mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-20 11:55:03 +00:00
common: console: Fix print complete stdio device list
In case CONSOLE_MUX and SYS_CONSOLE_IS_IN_ENV are on and
stdin or stdout or stderr are missing in environment, as fallback, get
these either from stdio_devices[std] or stdio_devices[std]->name.
Fixes: 6b343ab38d
("console: Print out complete stdio device list")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
parent
983d6e5bf0
commit
9152a51e3c
1 changed files with 12 additions and 15 deletions
|
@ -1049,9 +1049,16 @@ int console_clear(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *get_stdio(const u8 std)
|
||||||
|
{
|
||||||
|
return stdio_devices[std] ? stdio_devices[std]->name : "No devices available!";
|
||||||
|
}
|
||||||
|
|
||||||
static void stdio_print_current_devices(void)
|
static void stdio_print_current_devices(void)
|
||||||
{
|
{
|
||||||
char *stdinname, *stdoutname, *stderrname;
|
char *stdinname = NULL;
|
||||||
|
char *stdoutname = NULL;
|
||||||
|
char *stderrname = NULL;
|
||||||
|
|
||||||
if (CONFIG_IS_ENABLED(CONSOLE_MUX) &&
|
if (CONFIG_IS_ENABLED(CONSOLE_MUX) &&
|
||||||
CONFIG_IS_ENABLED(SYS_CONSOLE_IS_IN_ENV)) {
|
CONFIG_IS_ENABLED(SYS_CONSOLE_IS_IN_ENV)) {
|
||||||
|
@ -1059,22 +1066,12 @@ static void stdio_print_current_devices(void)
|
||||||
stdinname = env_get("stdin");
|
stdinname = env_get("stdin");
|
||||||
stdoutname = env_get("stdout");
|
stdoutname = env_get("stdout");
|
||||||
stderrname = env_get("stderr");
|
stderrname = env_get("stderr");
|
||||||
|
|
||||||
stdinname = stdinname ? : "No input devices available!";
|
|
||||||
stdoutname = stdoutname ? : "No output devices available!";
|
|
||||||
stderrname = stderrname ? : "No error devices available!";
|
|
||||||
} else {
|
|
||||||
stdinname = stdio_devices[stdin] ?
|
|
||||||
stdio_devices[stdin]->name :
|
|
||||||
"No input devices available!";
|
|
||||||
stdoutname = stdio_devices[stdout] ?
|
|
||||||
stdio_devices[stdout]->name :
|
|
||||||
"No output devices available!";
|
|
||||||
stderrname = stdio_devices[stderr] ?
|
|
||||||
stdio_devices[stderr]->name :
|
|
||||||
"No error devices available!";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stdinname = stdinname ? : get_stdio(stdin);
|
||||||
|
stdoutname = stdoutname ? : get_stdio(stdout);
|
||||||
|
stderrname = stderrname ? : get_stdio(stderr);
|
||||||
|
|
||||||
/* Print information */
|
/* Print information */
|
||||||
puts("In: ");
|
puts("In: ");
|
||||||
printf("%s\n", stdinname);
|
printf("%s\n", stdinname);
|
||||||
|
|
Loading…
Add table
Reference in a new issue