]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
video: Allow querying the font size
authorSimon Glass <sjg@chromium.org>
Mon, 8 Jan 2024 00:14:54 +0000 (17:14 -0700)
committerSimon Glass <sjg@chromium.org>
Fri, 18 Oct 2024 20:10:21 +0000 (14:10 -0600)
All the font size to be queried using the 'font size' command.

Signed-off-by: Simon Glass <sjg@chromium.org>
cmd/font.c
doc/usage/cmd/font.rst
test/cmd/font.c

index eb13fb12f79883cabf32b0099ac8b09a3dce6a41..36e41203654492966a97794e90f0ca35bd3988b9 100644 (file)
@@ -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;
index a87825463332165e825fe9a9c3f8778e05ce2da3..44a04f5d075e6e94f731a2edd01f44b6d5997822 100644 (file)
@@ -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
     =>
index 25d365dedd2ab50da50c28f5c0e935ea77258ce3..2aea7b68c47dd5f1f6a797ff70485bc6976b74cc 100644 (file)
@@ -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);