[PATCH 1/2] video: add guards around 16bpp/32bbp code

Anatolij Gustschin agust at denx.de
Thu Dec 5 18:15:48 CET 2019


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 <agust at denx.de>
---
 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 af88588904..c690eceeaa 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 f660c5205e..5ea7568fa4 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.17.1



More information about the U-Boot mailing list