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

Simon Glass sjg at chromium.org
Fri Feb 11 21:29:13 CET 2022


On Fri, 11 Feb 2022 at 10:11, 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.
> This reduces the cls command to a single printf() statement on most
> boards.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> v2:
>         support cls with CONFIG_DM_VIDEO=y and CONFIG_VIDEO_ANSI=n
> ---
>  cmd/cls.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>

(would be better with if() instead of #if)


>
> diff --git a/cmd/cls.c b/cmd/cls.c
> index eab4e6993b..b411fc1eb1 100644
> --- a/cmd/cls.c
> +++ b/cmd/cls.c
> @@ -11,12 +11,16 @@
>  #include <lcd.h>
>  #include <video.h>
>
> +#define CSI "\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;
> +       __maybe_unused struct udevice *dev;
>
> +       /*  Send clear screen and home */
> +       printf(CSI "2J" CSI "1;1H");
> +#if defined(CONFIG_DM_VIDEO) && !defined(CONFIG_VIDEO_ANSI)
>         if (uclass_first_device_err(UCLASS_VIDEO, &dev))
>                 return CMD_RET_FAILURE;
>
> --
> 2.34.1
>


More information about the U-Boot mailing list