
Hi Nikita Kiryanov,
On 02/03/2015 07:32 PM, Nikita Kiryanov wrote:
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 small note on the series:
- 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 function, 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). Rebased on current mainline.
Changes in V2:
- Minor commit message changes (such as s/platform specific/platform-specific/, s/Raspberry Pi config file is updated to compile the new file/Raspberry Pi is updated to accommodate the changes/)
- patch 2: define configuration_get_cmap() prototype only once.
Cc: Bo Shen voice.shen@atmel.com Cc: Simon Glass sjg@chromium.org Cc: Anatolij Gustschin agust@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
Tested OK on at91sam9g10ek, at91sam9x5ek boards.
Tested-by: Bo Shen voice.shen@atmel.com
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 | 311 ++++++------------------------------- include/mpc823_lcd.h | 43 ++++++ include/pxa_lcd.h | 80 ++++++++++ include/splash.h | 11 +- 17 files changed, 574 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
Best Regards, Bo Shen