diff mbox series

video: restore CONFIG_VIDCONSOLE_AS_LCD as boolean

Message ID 20200701125610.22340-1-patrick.delaunay@st.com
State Accepted
Delegated to: Tom Rini
Headers show
Series video: restore CONFIG_VIDCONSOLE_AS_LCD as boolean | expand

Commit Message

Patrick Delaunay July 1, 2020, 12:56 p.m. UTC
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.delaunay@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(-)

Comments

Simon Glass July 3, 2020, 3:50 a.m. UTC | #1
On Wed, 1 Jul 2020 at 06:56, Patrick Delaunay <patrick.delaunay@st.com> wrote:
>
> 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.delaunay@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(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini July 7, 2020, 1:38 p.m. UTC | #2
On Wed, Jul 01, 2020 at 02:56:10PM +0200, Patrick Delaunay wrote:

> 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'")
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

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