diff options
author | Anatolij Gustschin | 2018-12-01 10:47:20 +0100 |
---|---|---|
committer | Anatolij Gustschin | 2018-12-04 19:44:57 +0100 |
commit | 4e92e60d35d5ef3a3f7ca9cdd24aa51a1a3263a7 (patch) | |
tree | d6471842dc3671a045f3a8b148cc7a220427bb02 /cmd/cls.c | |
parent | 06696ebe674de7f65d4f5046a8639b358c6b358c (diff) |
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 <agust@denx.de>
Tested-by: Patrick.Delaunay <patrick.delaunay@free.fr>
Diffstat (limited to 'cmd/cls.c')
-rw-r--r-- | cmd/cls.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/cmd/cls.c b/cmd/cls.c new file mode 100644 index 00000000000..f1ce6e8df1e --- /dev/null +++ b/cmd/cls.c @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2018 + * DENX Software Engineering, Anatolij Gustschin <agust@denx.de> + * + * cls - clear screen command + */ +#include <common.h> +#include <command.h> +#include <dm.h> +#include <lcd.h> +#include <video.h> + +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", ""); |