[U-Boot] [PATCH 00/13] common lcd refactor
Nikita Kiryanov
nikita at compulab.co.il
Thu Jan 29 12:21:32 CET 2015
This series is part of my ongoing efforts to cleanup common/lcd code (and at
some point merge it with the CONFIG_VIDEO code).
This series focuses on eliminating platform specific #defines from lcd.c code,
and then adds a few platform independent code refactors and cleanups on top of
that. A few notes on the series:
- The patch "lcd: split splash code into its own function" depends on Bo Shen's
patch "lcd: fix console address is not initialized"
(https://patchwork.ozlabs.org/patch/433746/).
- The patch "lcd: split configuration_get_cmap" turned out to be a little
problematic: the goal was to move all platform specific code to the appropriate
lcd/fb drivers, and keep the generic case in lcd.c as a weak function.
This was not possible to do for configuration_get_cmap(), because the weak
version still has to compile even if it is overridden, and unfortunately the
generic case references panel_info, which is a struct that varies depending on
the configuration, and does not always have a cmap field. This demonstrated that
the visibility of panel_info should be reviewed, and that there might be a need
for some kind of lcd_generic driver.
Since this may warrant a series of its own, I opted to tentatively implement
the generic configuration_get_cmap() function in lcd.h as static inline, and
plan to revisit it in the next series.
The end result was compile tested on arm and powerpc, and tested on cm_t35
(splash screen feature).
Cc: Bo Shen <voice.shen at atmel.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Anatolij Gustschin <agust at denx.de>
Nikita Kiryanov (13):
lcd: move platform specific structs to their own headers
lcd: split configuration_get_cmap
lcd: atmel: move atmel specific fb_put_word to atmel_lcdfb
lcd: mpc8xx: move mpc823 specific fb_put_byte to mpc8xx_lcd.c
lcd: atmel: introduce lcd_logo_set_cmap
lcd: mpc823: move mpc823 specific lcd_logo_set_cmap code to
mpc8xx_lcd.c
lcd: logo: move generic cmap setting to lcd_logo_set_cmap()
lcd: introduce lcd_set_cmap
lcd: remove unused includes
lcd: various cleanups
lcd: rename bitmap_plot to better represent its functionality
lcd: dt: extract simplefb support
lcd: split splash code into its own function
board/raspberrypi/rpi/rpi.c | 1 +
common/Makefile | 1 +
common/lcd.c | 358 ++++++++++---------------------------------
common/lcd_simplefb.c | 59 +++++++
common/splash.c | 16 ++
drivers/video/atmel_hlcdfb.c | 13 ++
drivers/video/atmel_lcdfb.c | 51 ++++++
drivers/video/exynos_fb.c | 9 ++
drivers/video/mpc8xx_lcd.c | 29 ++++
drivers/video/pxa_lcd.c | 6 +
include/atmel_lcd.h | 38 +++++
include/exynos_lcd.h | 81 ++++++++++
include/fdt_simplefb.h | 14 ++
include/lcd.h | 313 ++++++-------------------------------
include/mpc823_lcd.h | 43 ++++++
include/pxa_lcd.h | 80 ++++++++++
include/splash.h | 11 +-
17 files changed, 576 insertions(+), 547 deletions(-)
create mode 100644 common/lcd_simplefb.c
create mode 100644 include/atmel_lcd.h
create mode 100644 include/exynos_lcd.h
create mode 100644 include/fdt_simplefb.h
create mode 100644 include/mpc823_lcd.h
create mode 100644 include/pxa_lcd.h
--
1.9.1
More information about the U-Boot
mailing list