Hi Nikita, On 1 February 2015 at 10:02, Nikita Kiryanov <nik...@compulab.co.il> wrote: > Hi Simon, > > > On 01/31/2015 02:24 AM, Simon Glass wrote: >> >> Hi Nikita, >> >> On 29 January 2015 at 04:21, Nikita Kiryanov <nik...@compulab.co.il> >> wrote: >>> >>> configuration_get_cmap() is multiple platform specific functions stuffed >>> into >>> one function. Split it into multiple versions, and move each version to >>> the >>> appropriate driver to reduce the #ifdef complexity. >>> >>> Signed-off-by: Nikita Kiryanov <nik...@compulab.co.il> >>> Cc: Bo Shen <voice.s...@atmel.com> >>> Cc: Simon Glass <s...@chromium.org> >>> Cc: Anatolij Gustschin <ag...@denx.de> >>> --- >>> common/lcd.c | 19 ------------------- >>> drivers/video/atmel_hlcdfb.c | 13 +++++++++++++ >>> drivers/video/atmel_lcdfb.c | 5 +++++ >>> drivers/video/exynos_fb.c | 9 +++++++++ >>> drivers/video/mpc8xx_lcd.c | 7 +++++++ >>> drivers/video/pxa_lcd.c | 6 ++++++ >>> include/lcd.h | 9 +++++++++ >>> 7 files changed, 49 insertions(+), 19 deletions(-) >> >> >> Reviewed-by: Simon Glass <s...@chromium.org> >> >> See suggestion below. >> >> [snip] >>> >>> diff --git a/include/lcd.h b/include/lcd.h >>> index fbba6a2..838f645 100644 >>> --- a/include/lcd.h >>> +++ b/include/lcd.h >>> @@ -42,13 +42,17 @@ void lcd_set_flush_dcache(int flush); >>> >>> #if defined CONFIG_MPC823 >>> #include <mpc823_lcd.h> >>> +ushort *configuration_get_cmap(void); >>> #elif defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \ >>> defined CONFIG_CPU_MONAHANS >>> #include <pxa_lcd.h> >>> +ushort *configuration_get_cmap(void); >>> #elif defined(CONFIG_ATMEL_LCD) || defined(CONFIG_ATMEL_HLCD) >>> #include <atmel_lcd.h> >>> +ushort *configuration_get_cmap(void); >>> #elif defined(CONFIG_EXYNOS_FB) >>> #include <exynos_lcd.h> >>> +ushort *configuration_get_cmap(void); >>> #else >>> typedef struct vidinfo { >>> ushort vl_col; /* Number of columns (i.e. 160) */ >>> @@ -60,6 +64,11 @@ typedef struct vidinfo { >>> >>> void *priv; /* Pointer to driver-specific data */ >>> } vidinfo_t; >>> + >>> +static inline ushort *configuration_get_cmap(void) >>> +{ >>> + return panel_info.cmap; >>> +} >>> #endif >> >> >> I'd argue for dropping the inline version and just having the same >> prototype in each case. > > > Are you suggesting something along the lines of: > > static ushort *configuration_get_cmap(void) > { > return panel_info.cmap; > } > #endif > > ushort *configuration_get_cmap(void); > > ? > > This is something I considered while preparing this, but I was under the > impression > that this isn't well defined by the standard. However, I actually have > confirmation > now that it is in fact defined behavior[1], so I will submit a V2 for this > (even though > I expect all of the above to disappear from lcd.h in the next refactor > series). > > [1] > http://stackoverflow.com/questions/28264874/non-static-function-prototype-follows-static-function-declaration
OK, although if you are planning to get rid of this code in the next refactor, it's fine just as you have it in v1. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot