diff options
author | Simon Glass <sjg@chromium.org> | 2024-01-07 17:14:54 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2024-10-18 14:10:21 -0600 |
commit | 112eb85c5a23a0c4a3f14d7099f18fd3128996ec (patch) | |
tree | 6c5a6a6e2d30ad0eb902516731c728cd87fc5c63 | |
parent | 8ab2178de069194d2eed8fe1b90db7e12cf032bb (diff) | |
download | u-boot-112eb85c5a23a0c4a3f14d7099f18fd3128996ec.tar.gz |
video: Allow querying the font size
All the font size to be queried using the 'font size' command.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | cmd/font.c | 17 | ||||
-rw-r--r-- | doc/usage/cmd/font.rst | 6 | ||||
-rw-r--r-- | test/cmd/font.c | 9 |
3 files changed, 22 insertions, 10 deletions
diff --git a/cmd/font.c b/cmd/font.c index eb13fb12f79..36e41203654 100644 --- a/cmd/font.c +++ b/cmd/font.c @@ -55,9 +55,6 @@ static int do_font_size(struct cmd_tbl *cmdtp, int flag, int argc, uint size; int ret; - if (argc != 2) - return CMD_RET_USAGE; - if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) return CMD_RET_FAILURE; ret = vidconsole_get_font_size(dev, &font_name, &size); @@ -66,12 +63,16 @@ static int do_font_size(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - size = dectoul(argv[1], NULL); + if (argc < 2) { + printf("%d\n", size); + } else { + size = dectoul(argv[1], NULL); - ret = vidconsole_select_font(dev, font_name, size); - if (ret) { - printf("Failed (error %d)\n", ret); - return CMD_RET_FAILURE; + ret = vidconsole_select_font(dev, font_name, size); + if (ret) { + printf("Failed (error %d)\n", ret); + return CMD_RET_FAILURE; + } } return 0; diff --git a/doc/usage/cmd/font.rst b/doc/usage/cmd/font.rst index a8782546333..44a04f5d075 100644 --- a/doc/usage/cmd/font.rst +++ b/doc/usage/cmd/font.rst @@ -13,7 +13,7 @@ Synopsis font list font select <name> [<size>] - font size <size> + font size [<size>] Description ----------- @@ -34,7 +34,7 @@ This selects a new font and optionally changes the size. font size ~~~~~~~~~ -This changes the font size only. +This changes the font size only. With no argument it shows the current size. Examples -------- @@ -44,6 +44,8 @@ Examples => font list nimbus_sans_l_regular cantoraone_regular + => font size + 30 => font size 40 => font select cantoraone_regular 20 => diff --git a/test/cmd/font.c b/test/cmd/font.c index 25d365dedd2..2aea7b68c47 100644 --- a/test/cmd/font.c +++ b/test/cmd/font.c @@ -58,10 +58,19 @@ static int font_test_base(struct unit_test_state *uts) ut_assertok(vidconsole_get_font_size(dev, &name, &size)); ut_asserteq_str("cantoraone_regular", name); ut_asserteq(40, size); + ut_assertok(ut_check_console_end(uts)); + + ut_assertok(run_command("font size", 0)); + ut_assert_nextline("40"); + ut_assertok(ut_check_console_end(uts)); ut_assertok(run_command("font size 30", 0)); ut_assert_console_end(); + ut_assertok(run_command("font size", 0)); + ut_assert_nextline("30"); + ut_assertok(ut_check_console_end(uts)); + ut_assertok(vidconsole_get_font_size(dev, &name, &size)); ut_asserteq_str("cantoraone_regular", name); ut_asserteq(30, size); |