[PATCH 1/1] cmd: add serial console support for the cls command

Simon Glass sjg at chromium.org
Fri Feb 11 16:05:45 CET 2022


Hi Heinrich,

On Sat, 29 Jan 2022 at 13:32, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> Currently the cls command does not support the serial console
>
> The screen can be cleared in the video uclass, the colored frame buffer
> console, and the serial console by sending the same escape sequence.
> The cls command only needs a single printf() statement in most cases.
>
> This patch drops support for clearing the DM video without
> CONFIG_VIDEO_ANSI=y (which is enabled by default).

No we can't do that :-)

>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
>  cmd/cls.c | 23 +++++++++--------------
>  1 file changed, 9 insertions(+), 14 deletions(-)
>
> diff --git a/cmd/cls.c b/cmd/cls.c
> index eab4e6993b..d58b0facbe 100644
> --- a/cmd/cls.c
> +++ b/cmd/cls.c
> @@ -11,23 +11,18 @@
>  #include <lcd.h>
>  #include <video.h>
>
> +#define ESC "\x1b"
> +
>  static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
>                           char *const argv[])
>  {
> -#if defined(CONFIG_DM_VIDEO)
> -       struct udevice *dev;
> -
> -       if (uclass_first_device_err(UCLASS_VIDEO, &dev))
> -               return CMD_RET_FAILURE;
> -
> -       if (video_clear(dev))
> -               return CMD_RET_FAILURE;
> -#elif defined(CONFIG_CFB_CONSOLE)
> -       video_clear();
> -#elif defined(CONFIG_LCD)
> -       lcd_clear();
> -#else
> -       return CMD_RET_FAILURE;
> +       /*  Send clear screen and home */
> +       printf(ESC "[2J" ESC "[1;1H");
> +#if !defined(CONFIG_DM_VIDEO) && !defined(CONFIG_CFB_CONSOLE_ANSI)
> +       if (CONFIG_IS_ENABLED(CFB_CONSOLE))
> +               video_clear();
> +       else if (CONFIG_IS_ENABLED(LCD)

CFB_CONSOLE and LCD are deprecated so we can drop these.

> +               lcd_clear();
>  #endif
>         return CMD_RET_SUCCESS;
>  }
> --
> 2.33.1
>

Regards,
Simon


More information about the U-Boot mailing list