video: Move the console commands to cmd/
authorSimon Glass <sjg@chromium.org>
Thu, 6 Oct 2022 14:36:06 +0000 (08:36 -0600)
committerAnatolij Gustschin <agust@denx.de>
Sun, 30 Oct 2022 18:55:22 +0000 (19:55 +0100)
Move these commands and the implementation to the cmd/ directory, which is
where most commands are kept.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
[agust: keep vidconsole_position_cursor() in vidconsole uclass]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
cmd/Kconfig
cmd/Makefile
cmd/video.c [new file with mode: 0644]
drivers/video/Kconfig
drivers/video/vidconsole-uclass.c

index 41cf1d4..51dbbf8 100644 (file)
@@ -2161,6 +2161,18 @@ config CMD_UUID
          The two commands are very similar except for the endianness of the
          output.
 
+config CMD_VIDCONSOLE
+       bool "lcdputs and setcurs"
+       depends on DM_VIDEO
+       default y
+       help
+         Enabling this will provide 'setcurs' and 'lcdputs' commands which
+         support cursor positioning and drawing strings on the video
+         console (framebuffer).
+
+         The name 'lcdputs' is a bit of a misnomer, but so named because the
+         video device is often an LCD.
+
 endmenu
 
 source "cmd/ti/Kconfig"
index c95e09d..ac9226f 100644 (file)
@@ -178,6 +178,8 @@ obj-$(CONFIG_CMD_WDT) += wdt.o
 obj-$(CONFIG_CMD_LZMADEC) += lzmadec.o
 obj-$(CONFIG_CMD_UFS) += ufs.o
 obj-$(CONFIG_CMD_USB) += usb.o disk.o
+obj-$(CONFIG_CMD_VIDCONSOLE) += video.o
+
 obj-$(CONFIG_CMD_FASTBOOT) += fastboot.o
 obj-$(CONFIG_CMD_FS_UUID) += fs_uuid.o
 
diff --git a/cmd/video.c b/cmd/video.c
new file mode 100644 (file)
index 0000000..942f81c
--- /dev/null
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * video commands
+ *
+ * Copyright 2022 Google LLC
+ * Written by Simon Glass <sjg@chromium.org>
+ */
+
+#include <common.h>
+#include <command.h>
+#include <dm.h>
+#include <video.h>
+#include <video_console.h>
+
+static int do_video_setcursor(struct cmd_tbl *cmdtp, int flag, int argc,
+                             char *const argv[])
+{
+       unsigned int col, row;
+       struct udevice *dev;
+
+       if (argc != 3)
+               return CMD_RET_USAGE;
+
+       if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
+               return CMD_RET_FAILURE;
+       col = dectoul(argv[1], NULL);
+       row = dectoul(argv[2], NULL);
+       vidconsole_position_cursor(dev, col, row);
+
+       return 0;
+}
+
+static int do_video_puts(struct cmd_tbl *cmdtp, int flag, int argc,
+                        char *const argv[])
+{
+       struct udevice *dev;
+       int ret;
+
+       if (argc != 2)
+               return CMD_RET_USAGE;
+
+       if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
+               return CMD_RET_FAILURE;
+       ret = vidconsole_put_string(dev, argv[1]);
+       if (!ret)
+               ret = video_sync(dev->parent, false);
+
+       return ret ? CMD_RET_FAILURE : 0;
+}
+
+U_BOOT_CMD(
+       setcurs, 3,     1,      do_video_setcursor,
+       "set cursor position within screen",
+       "    <col> <row> in character"
+);
+
+U_BOOT_CMD(
+       lcdputs, 2,     1,      do_video_puts,
+       "print string on video framebuffer",
+       "    <string>"
+);
index 4ecc158..c9fc4a3 100644 (file)
@@ -85,14 +85,6 @@ config BACKLIGHT_GPIO
          it understands the standard device tree
          (leds/backlight/gpio-backlight.txt)
 
-config CMD_VIDCONSOLE
-       bool "Enable vidconsole commands lcdputs and setcurs"
-       depends on DM_VIDEO
-       default y
-       help
-         Enabling this will provide 'setcurs' and 'lcdputs' commands which
-         support cursor positioning and drawing strings on video framebuffer.
-
 config VIDEO_BPP8
        bool "Support 8-bit-per-pixel displays"
        depends on DM_VIDEO
index d566719..6bdfb6e 100644 (file)
@@ -617,7 +617,6 @@ int vidconsole_memmove(struct udevice *dev, void *dst, const void *src,
 }
 #endif
 
-#if CONFIG_IS_ENABLED(CMD_VIDCONSOLE)
 void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row)
 {
        struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
@@ -629,52 +628,3 @@ void vidconsole_position_cursor(struct udevice *dev, unsigned col, unsigned row)
        y = min_t(short, row * priv->y_charsize, vid_priv->ysize - 1);
        vidconsole_set_cursor_pos(dev, x, y);
 }
-
-static int do_video_setcursor(struct cmd_tbl *cmdtp, int flag, int argc,
-                             char *const argv[])
-{
-       unsigned int col, row;
-       struct udevice *dev;
-
-       if (argc != 3)
-               return CMD_RET_USAGE;
-
-       if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
-               return CMD_RET_FAILURE;
-       col = dectoul(argv[1], NULL);
-       row = dectoul(argv[2], NULL);
-       vidconsole_position_cursor(dev, col, row);
-
-       return 0;
-}
-
-static int do_video_puts(struct cmd_tbl *cmdtp, int flag, int argc,
-                        char *const argv[])
-{
-       struct udevice *dev;
-       int ret;
-
-       if (argc != 2)
-               return CMD_RET_USAGE;
-
-       if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
-               return CMD_RET_FAILURE;
-       ret = vidconsole_put_string(dev, argv[1]);
-       if (!ret)
-               ret = video_sync(dev->parent, false);
-
-       return ret ? CMD_RET_FAILURE : 0;
-}
-
-U_BOOT_CMD(
-       setcurs, 3,     1,      do_video_setcursor,
-       "set cursor position within screen",
-       "    <col> <row> in character"
-);
-
-U_BOOT_CMD(
-       lcdputs, 2,     1,      do_video_puts,
-       "print string on video framebuffer",
-       "    <string>"
-);
-#endif /* CONFIG_IS_ENABLED(CMD_VIDCONSOLE) */