cmd: add clear screen 'cls' command
PATCH v2 1/1 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 <[email protected]>
Tested-by Patrick.Delaunay <[email protected]>
---
Changes in v2:
- auto-select the command when CONFIG_LCD defined instead of extending each affected board defconfig
- add Tested-by tag
cmd/Kconfig | 8 ++++++++ cmd/Makefile | 1 + cmd/cls.c | 35 +++++++++++++++++++++++++++++++++++ common/lcd.c | 8 -------- 4 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 cmd/cls.c
cmd/Kconfig +8 -0
@@ -1380,6 +1380,14 @@ config CMD_CONITRACE Enable the 'conitrace' command which displays the codes received from the console input as hexadecimal numbers. +config CMD_CLS + bool "Enable clear screen command 'cls'" + depends on CFB_CONSOLE || DM_VIDEO || LCD || VIDEO + default y if LCD + help + Enable the 'cls' command which clears the screen contents + on video frame buffer. + config CMD_DISPLAY bool "Enable the 'display' command, for character displays" help
cmd/Makefile +1 -0
@@ -32,6 +32,7 @@ obj-$(CONFIG_CMD_BTRFS) += btrfs.o obj-$(CONFIG_CMD_CACHE) += cache.o obj-$(CONFIG_CMD_CBFS) += cbfs.o obj-$(CONFIG_CMD_CLK) += clk.o +obj-$(CONFIG_CMD_CLS) += cls.o obj-$(CONFIG_CMD_CONFIG) += config.o obj-$(CONFIG_CMD_CONITRACE) += conitrace.o obj-$(CONFIG_CMD_CONSOLE) += console.o
cmd/cls.c new file +35 -0
@@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* +* (C) Copyright 2018 +* DENX Software Engineering, Anatolij Gustschin <[email protected]> +* +* 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" ,"" );
common/lcd.c +0 -8
@@ -242,14 +242,6 @@ void lcd_clear(void)lcd_sync (); } -static int do_lcd_clear (cmd_tbl_t *cmdtp,int flag,int argc, -char *const argv[]) -{ -lcd_clear (); -return 0 ; -} -U_BOOT_CMD (cls,1 ,1 , do_lcd_clear,"clear screen" ,"" ); -static int lcd_init (void *lcdbase) {debug ("[LCD] Initializing LCD frambuffer at %p\n" , lcdbase);
Signature · 1 line
2.17.1
PATCH v2 1/1 cmd: add clear screen 'cls' command
On Sat, 1 Dec 2018 10:47:20 +0100
Anatolij Gustschin agust at denx.de wrote:
...
Quoted 11 lines
Changes in v2:
- auto-select the command whenCONFIG_LCDdefined instead of extending each affected board defconfig
- add Tested-by tagcmd/Kconfig | 8 ++++++++ cmd/Makefile | 1 + cmd/cls.c | 35 +++++++++++++++++++++++++++++++++++ common/lcd.c | 8 -------- 4 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 cmd/cls.c
Applied to u-boot-video/master, thanks!
--
Anatolij