Merge tag 'tpm-030822' of https://source.denx.de/u-boot/custodians/u-boot-tpm
[platform/kernel/u-boot.git] / cmd / cls.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2018
4  * DENX Software Engineering, Anatolij Gustschin <agust@denx.de>
5  *
6  * cls - clear screen command
7  */
8 #include <common.h>
9 #include <command.h>
10 #include <dm.h>
11 #include <video.h>
12
13 #define CSI "\x1b["
14
15 static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
16                           char *const argv[])
17 {
18         __maybe_unused struct udevice *dev;
19
20         /*  Send clear screen and home */
21         printf(CSI "2J" CSI "1;1H");
22         if (CONFIG_IS_ENABLED(DM_VIDEO) && !CONFIG_IS_ENABLED(VIDEO_ANSI)) {
23                 if (uclass_first_device_err(UCLASS_VIDEO, &dev))
24                         return CMD_RET_FAILURE;
25                 if (video_clear(dev))
26                         return CMD_RET_FAILURE;
27         }
28         return CMD_RET_SUCCESS;
29 }
30
31 U_BOOT_CMD(cls, 1, 1, do_video_clear, "clear screen", "");