mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
lcd: atmel: move atmel-specific fb_put_word to atmel_lcdfb
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 <nikita@compulab.co.il> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Bo Shen <voice.shen@atmel.com> Tested-by: Bo Shen <voice.shen@atmel.com> Tested-by: Josh Wu <josh.wu@atmel.com> Cc: Bo Shen <voice.shen@atmel.com> Cc: Simon Glass <sjg@chromium.org> Cc: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
38b550877f
commit
b3d12e9bca
2 changed files with 10 additions and 10 deletions
11
common/lcd.c
11
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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue