From ca5655d8006cfbaa4ff8ff450e4a5931e57fe050 Mon Sep 17 00:00:00 2001 From: Anatolij Gustschin Date: Wed, 4 Dec 2019 16:18:39 +0100 Subject: [PATCH] video: add guards around 16bpp/32bbp code Many boards use only single depth configuration, for such boards there is some unused code in video and console uclass routines. Add guards to avoid dead code. Signed-off-by: Anatolij Gustschin Tested-by: Eugen Hristev Tested-by: Patrice Chotard Tested-by: Steffen Dirkwinkel --- drivers/video/vidconsole-uclass.c | 6 ++++++ drivers/video/video-uclass.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index af88588..c690ece 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -116,6 +116,7 @@ static void vidconsole_newline(struct udevice *dev) video_sync(dev->parent, false); } +#if CONFIG_IS_ENABLED(VIDEO_BPP16) || CONFIG_IS_ENABLED(VIDEO_BPP32) static const struct vid_rgb colors[VID_COLOR_COUNT] = { { 0x00, 0x00, 0x00 }, /* black */ { 0xc0, 0x00, 0x00 }, /* red */ @@ -134,18 +135,23 @@ static const struct vid_rgb colors[VID_COLOR_COUNT] = { { 0x00, 0xff, 0xff }, /* bright cyan */ { 0xff, 0xff, 0xff }, /* white */ }; +#endif u32 vid_console_color(struct video_priv *priv, unsigned int idx) { switch (priv->bpix) { +#if CONFIG_IS_ENABLED(VIDEO_BPP16) case VIDEO_BPP16: return ((colors[idx].r >> 3) << 11) | ((colors[idx].g >> 2) << 5) | ((colors[idx].b >> 3) << 0); +#endif +#if CONFIG_IS_ENABLED(VIDEO_BPP32) case VIDEO_BPP32: return (colors[idx].r << 16) | (colors[idx].g << 8) | (colors[idx].b << 0); +#endif default: /* * For unknown bit arrangements just support diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c index f660c52..5ea7568 100644 --- a/drivers/video/video-uclass.c +++ b/drivers/video/video-uclass.c @@ -92,6 +92,7 @@ int video_clear(struct udevice *dev) struct video_priv *priv = dev_get_uclass_priv(dev); switch (priv->bpix) { +#ifdef CONFIG_VIDEO_BPP16 case VIDEO_BPP16: { u16 *ppix = priv->fb; u16 *end = priv->fb + priv->fb_size; @@ -100,6 +101,8 @@ int video_clear(struct udevice *dev) *ppix++ = priv->colour_bg; break; } +#endif +#ifdef CONFIG_VIDEO_BPP32 case VIDEO_BPP32: { u32 *ppix = priv->fb; u32 *end = priv->fb + priv->fb_size; @@ -108,6 +111,7 @@ int video_clear(struct udevice *dev) *ppix++ = priv->colour_bg; break; } +#endif default: memset(priv->fb, priv->colour_bg, priv->fb_size); break; -- 2.7.4