[PATCH v2 1/1] cmd: add serial console support for the cls command

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Fri Mar 11 08:06:27 CET 2022


On 2/11/22 21:29, Simon Glass wrote:
> On Fri, 11 Feb 2022 at 10:11, Heinrich Schuchardt
> <heinrich.schuchardt at canonical.com> wrote:
>>
>> Currently the cls command does not support the serial console
>>
>> The screen can be cleared in the video uclass, the colored frame buffer
>> console, and the serial console by sending the same escape sequence.
>> This reduces the cls command to a single printf() statement on most
>> boards.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>> ---
>> v2:
>>          support cls with CONFIG_DM_VIDEO=y and CONFIG_VIDEO_ANSI=n
>> ---
>>   cmd/cls.c | 8 ++++++--
>>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> Reviewed-by: Simon Glass <sjg at chromium.org>
> 
> (would be better with if() instead of #if)

This is not possible because you chose to give two functions with a 
different number of parameters the same name (video_clear()).

Best regards

Heinrich

> 
> 
>>
>> diff --git a/cmd/cls.c b/cmd/cls.c
>> index eab4e6993b..b411fc1eb1 100644
>> --- a/cmd/cls.c
>> +++ b/cmd/cls.c
>> @@ -11,12 +11,16 @@
>>   #include <lcd.h>
>>   #include <video.h>
>>
>> +#define CSI "\x1b["
>> +
>>   static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
>>                            char *const argv[])
>>   {
>> -#if defined(CONFIG_DM_VIDEO)
>> -       struct udevice *dev;
>> +       __maybe_unused struct udevice *dev;
>>
>> +       /*  Send clear screen and home */
>> +       printf(CSI "2J" CSI "1;1H");
>> +#if defined(CONFIG_DM_VIDEO) && !defined(CONFIG_VIDEO_ANSI)
>>          if (uclass_first_device_err(UCLASS_VIDEO, &dev))
>>                  return CMD_RET_FAILURE;
>>
>> --
>> 2.34.1
>>



More information about the U-Boot mailing list