On 02/03/2015 07:32 PM, Nikita Kiryanov wrote:
Reduce the amount of platform-specific code in common/lcd.c by moving Atmel
implementation of fb_put_word() to atmel_lcdfb.c. Since we must also have a
default implementation for everybody else, make the remainder of the code
into a weak function.

Signed-off-by: Nikita Kiryanov <nik...@compulab.co.il>
Reviewed-by: Simon Glass <s...@chromium.org>
Cc: Bo Shen <voice.s...@atmel.com>
Cc: Simon Glass <s...@chromium.org>
Cc: Anatolij Gustschin <ag...@denx.de>

Acked-by: Bo Shen <voice.s...@atmel.com>

---
Changes in V2:
        - Minor commit message update

  common/lcd.c                | 11 +----------
  drivers/video/atmel_lcdfb.c |  9 +++++++++
  2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/common/lcd.c b/common/lcd.c
index 0f6c2e4..f17b35b 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -642,20 +642,11 @@ static void lcd_display_rle8_bitmap(bmp_image_t *bmp, 
ushort *cmap, uchar *fb,
  #endif

  #if defined(CONFIG_BMP_16BPP)
-#if defined(CONFIG_ATMEL_LCD_BGR555)
-static inline void fb_put_word(uchar **fb, uchar **from)
-{
-       *(*fb)++ = (((*from)[0] & 0x1f) << 2) | ((*from)[1] & 0x03);
-       *(*fb)++ = ((*from)[0] & 0xe0) | (((*from)[1] & 0x7c) >> 2);
-       *from += 2;
-}
-#else
-static inline void fb_put_word(uchar **fb, uchar **from)
+__weak void fb_put_word(uchar **fb, uchar **from)
  {
        *(*fb)++ = *(*from)++;
        *(*fb)++ = *(*from)++;
  }
-#endif
  #endif /* CONFIG_BMP_16BPP */

  int lcd_display_bitmap(ulong bmp_image, int x, int y)
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index fa6a82c..c7991cd 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -34,6 +34,15 @@ ushort *configuration_get_cmap(void)
        return (ushort *)(panel_info.mmio + ATMEL_LCDC_LUT(0));
  }

+#if defined(CONFIG_BMP_16BPP) && defined(CONFIG_ATMEL_LCD_BGR555)
+void fb_put_word(uchar **fb, uchar **from)
+{
+       *(*fb)++ = (((*from)[0] & 0x1f) << 2) | ((*from)[1] & 0x03);
+       *(*fb)++ = ((*from)[0] & 0xe0) | (((*from)[1] & 0x7c) >> 2);
+       *from += 2;
+}
+#endif
+
  void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
  {
  #if defined(CONFIG_ATMEL_LCD_BGR555)


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to