[U-Boot] [PATCH] dm: video: make ANSI escape sequence support optional

Anatolij Gustschin agust at denx.de
Sat Sep 30 08:19:17 UTC 2017


As mentioned in review comments for ANSI escape sequence
support patches, this should be optional to reduce code
size. Disable escape sequence support when CONFIG_VIDEO_ANSI
is not enabled.

Signed-off-by: Anatolij Gustschin <agust at denx.de>
---
This patch is based on basic ANSI escape seq. support series:
https://www.mail-archive.com/u-boot@lists.denx.de/msg263777.html

 drivers/video/vidconsole-uclass.c | 6 ++++++
 include/video_console.h           | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 5f63c12d6c..f62e9f9308 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -108,6 +108,7 @@ static void vidconsole_newline(struct udevice *dev)
 	video_sync(dev->parent);
 }
 
+#if CONFIG_IS_ENABLED(VIDEO_ANSI)
 static const struct {
 	unsigned r;
 	unsigned g;
@@ -299,22 +300,27 @@ error:
 	/* something went wrong, just revert to normal mode: */
 	priv->escape = 0;
 }
+#endif
 
 int vidconsole_put_char(struct udevice *dev, char ch)
 {
 	struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
 	int ret;
 
+#if CONFIG_IS_ENABLED(VIDEO_ANSI)
 	if (priv->escape) {
 		vidconsole_escape_char(dev, ch);
 		return 0;
 	}
+#endif
 
 	switch (ch) {
+#if CONFIG_IS_ENABLED(VIDEO_ANSI)
 	case '\x1b':
 		priv->escape_len = 0;
 		priv->escape = 1;
 		break;
+#endif
 	case '\a':
 		/* beep */
 		break;
diff --git a/include/video_console.h b/include/video_console.h
index 9dce234bd9..f07f43c1e2 100644
--- a/include/video_console.h
+++ b/include/video_console.h
@@ -7,6 +7,8 @@
 #ifndef __video_console_h
 #define __video_console_h
 
+#include <linux/kconfig.h>
+
 #define VID_FRAC_DIV	256
 
 #define VID_TO_PIXEL(x)	((x) / VID_FRAC_DIV)
@@ -45,6 +47,7 @@ struct vidconsole_priv {
 	int xsize_frac;
 	int xstart_frac;
 	int last_ch;
+#if CONFIG_IS_ENABLED(VIDEO_ANSI)
 	/*
 	 * ANSI escape sequences are accumulated character by character,
 	 * starting after the ESC char (0x1b) until the entire sequence
@@ -53,6 +56,7 @@ struct vidconsole_priv {
 	int escape;
 	int escape_len;
 	char escape_buf[32];
+#endif
 };
 
 /**
-- 
2.11.0



More information about the U-Boot mailing list