
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@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 };
/**