aboutsummaryrefslogtreecommitdiff
path: root/cmd/cls.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/cls.c')
-rw-r--r--cmd/cls.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/cmd/cls.c b/cmd/cls.c
index 40a32eeab6..1125a3f81b 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;
}