mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
video: Clear the vidconsole rather than the video
It is better to clear the console device rather than the video device, since the console has the text display. We also need to reset the cursor position with the console, but not with the video device. Add a new function to handle this and update the 'cls' command to use it. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Heinrich Schuchardt
parent
9f62a472df
commit
a76b60f820
12
cmd/cls.c
12
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["
|
||||
|
||||
@@ -19,12 +19,16 @@ static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
|
||||
/* Send clear screen and home */
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user