From mboxrd@z Thu Jan 1 00:00:00 1970 From: Josh Wu Date: Wed, 4 Feb 2015 10:37:30 +0800 Subject: [U-Boot] [PATCH V2 00/13] common lcd refactor In-Reply-To: <1422963152-17634-1-git-send-email-nikita@compulab.co.il> References: <1422963152-17634-1-git-send-email-nikita@compulab.co.il> Message-ID: <54D185EA.1050300@atmel.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, Nikita On 2/3/2015 7: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 > Cc: Simon Glass > Cc: Anatolij Gustschin > > 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 | 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 > For this whole series, I tested the Atmel lcd & hlcd part, you can add my tested-by: Tested-by: Josh Wu Thanks. Best Regards, Josh Wu