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 <patrick.delau...@st.com>
---
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
-- 
2.17.1

Reply via email to