diff options
Diffstat (limited to 'cmd/cls.c')
| -rw-r--r-- | cmd/cls.c | 20 | 
1 files changed, 15 insertions, 5 deletions
| diff --git a/cmd/cls.c b/cmd/cls.c index 40a32eeab63..1125a3f81bb 100644 --- a/cmd/cls.c +++ b/cmd/cls.c @@ -8,7 +8,7 @@  #include <common.h>  #include <command.h>  #include <dm.h> -#include <video.h> +#include <video_console.h>  #define CSI "\x1b[" @@ -17,14 +17,24 @@ static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,  {  	__maybe_unused struct udevice *dev; -	/*  Send clear screen and home */ +	/* +	 * Send clear screen and home +	 * +	 * FIXME(Heinrich Schuchardt <xypron.glpk@gmx.de>): This should go +	 * through an API and only be written to serial terminals, not video +	 * displays +	 */  	printf(CSI "2J" CSI "1;1H"); -	if (IS_ENABLED(CONFIG_VIDEO) && !IS_ENABLED(CONFIG_VIDEO_ANSI)) { -		if (uclass_first_device_err(UCLASS_VIDEO, &dev)) +	if (IS_ENABLED(CONFIG_VIDEO_ANSI)) +		return 0; + +	if (IS_ENABLED(CONFIG_VIDEO)) { +		if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))  			return CMD_RET_FAILURE; -		if (video_clear(dev)) +		if (vidconsole_clear_and_reset(dev))  			return CMD_RET_FAILURE;  	} +  	return CMD_RET_SUCCESS;  } | 
