From patchwork Wed Jul 1 12:56:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Delaunay X-Patchwork-Id: 240555 List-Id: U-Boot discussion From: patrick.delaunay at st.com (Patrick Delaunay) Date: Wed, 1 Jul 2020 14:56:10 +0200 Subject: [PATCH] video: restore CONFIG_VIDCONSOLE_AS_LCD as boolean Message-ID: <20200701125610.22340-1-patrick.delaunay@st.com> This patch restores CONFIG_VIDCONSOLE_AS_LCD as boolean and introduce a separate sting as CONFIG_VIDCONSOLE_AS_NAME to search this string in stdout used as videoconsole. This patch avoid issue with board defconfig or code expecting CONFIG_VIDCONSOLE_AS_LCD as boolean. Fixes: 22b897a12323 ("video: extend stdout video console work-around for 'vga'") Signed-off-by: Patrick Delaunay Reviewed-by: Simon Glass --- Hi, It is fix for stm32mp157c-ev1 boot on next branch. The option names are not perfect but it is only a temporarily work around (up to end of 2020). You can see other example of boolean and string in Kconfig = config USE_BOOTCOMMAND config BOOTCOMMAND I think the correct name could be: - CONFIG_USE_VIDCONSOLE_AS_NAME - CONFIG_VIDCONSOLE_AS_NAME but these name need to modify many file for a fix on a workaround CONFIG. Regards, Patrick common/console.c | 6 +++--- drivers/video/Kconfig | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/common/console.c b/common/console.c index f149624954..7b9816979a 100644 --- a/common/console.c +++ b/common/console.c @@ -713,7 +713,7 @@ struct stdio_dev *search_device(int flags, const char *name) dev = stdio_get_by_name(name); #ifdef CONFIG_VIDCONSOLE_AS_LCD - if (!dev && !strcmp(name, CONFIG_VIDCONSOLE_AS_LCD)) + if (!dev && !strcmp(name, CONFIG_VIDCONSOLE_AS_NAME)) dev = stdio_get_by_name("vidconsole"); #endif @@ -897,9 +897,9 @@ done: stdio_print_current_devices(); #endif /* CONFIG_SYS_CONSOLE_INFO_QUIET */ #ifdef CONFIG_VIDCONSOLE_AS_LCD - if (strstr(stdoutname, CONFIG_VIDCONSOLE_AS_LCD)) + if (strstr(stdoutname, CONFIG_VIDCONSOLE_AS_NAME)) printf("Warning: Please change '%s' to 'vidconsole' in stdout/stderr environment vars\n", - CONFIG_VIDCONSOLE_AS_LCD); + CONFIG_VIDCONSOLE_AS_NAME); #endif #ifdef CONFIG_SYS_CONSOLE_ENV_OVERWRITE diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 52f5bc6127..0cf13adc7d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -177,8 +177,18 @@ config SIMPLE_PANEL source "drivers/video/fonts/Kconfig" config VIDCONSOLE_AS_LCD - string "Use 'vidconsole' when string defined here is seen in stdout" + bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout" depends on DM_VIDEO + help + This is a work-around for boards which have 'lcd' or 'vga' in their + stdout environment variable, but have moved to use driver model for + video. In this case the console will no-longer work. While it is + possible to update the environment, the breakage may be confusing for + users. This option will be removed around the end of 2020. + +config VIDCONSOLE_AS_NAME + string "Use 'vidconsole' when string defined here is seen in stdout" + depends on VIDCONSOLE_AS_LCD default "lcd" if LCD || TEGRA_COMMON default "vga" if !LCD help