From 4e92e60d35d5ef3a3f7ca9cdd24aa51a1a3263a7 Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Sat, 1 Dec 2018 10:47:20 +0100 Subject: cmd: add clear screen 'cls' command Add common clear screen command for configurations CONFIG_DM_VIDEO, CONFIG_LCD and CONFIG_CFB_CONSOLE. Remove the existing cls command implementation from lcd.c code and activate the command for all boards enabling CONFIG_LCD for compatibility reasons. Signed-off-by: Anatolij Gustschin Tested-by: Patrick.Delaunay --- cmd/cls.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 cmd/cls.c (limited to 'cmd/cls.c') diff --git a/cmd/cls.c b/cmd/cls.c new file mode 100644 index 0000000000..f1ce6e8df1 --- /dev/null +++ b/cmd/cls.c @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2018 + * DENX Software Engineering, Anatolij Gustschin + * + * cls - clear screen command + */ +#include +#include +#include +#include +#include + +static int do_video_clear(cmd_tbl_t *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; +#endif + return CMD_RET_SUCCESS; +} + +U_BOOT_CMD(cls, 1, 1, do_video_clear, "clear screen", ""); -- cgit v1.2.3