On Sat, Sep 30, 2017 at 4:19 AM, Anatolij Gustschin <ag...@denx.de> wrote: > 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.
Assuming the later version of the patch was applied there should be, at the top of vidconsole_escape_char: if (!IS_ENABLED(CONFIG_VIDEO_ANSI)) goto error; which (at least if not building with -O0) should be enough to strip the rest out, with somewhat less ifdef than this approach.. BR, -R > Signed-off-by: Anatolij Gustschin <ag...@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 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot