[U-Boot] [PATCH V2 3/4] common lcd: simplify core functions
Wolfgang Denk
wd at denx.de
Mon Jun 25 09:23:37 CEST 2012
Dear Nikita Kiryanov,
In message <1340607844-8718-4-git-send-email-nikita at compulab.co.il> you wrote:
> Move highly platform dependant code into its own function to reduce the
> number of #ifdefs in the bigger functions
>
> Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg at compulab.co.il>
> ---
> common/lcd.c | 58 ++++++++++++++++++++++++++++------------------------------
> 1 files changed, 28 insertions(+), 30 deletions(-)
>
> diff --git a/common/lcd.c b/common/lcd.c
> index 4a5c8d5..3c0f1b1 100644
> --- a/common/lcd.c
> +++ b/common/lcd.c
> @@ -498,21 +498,35 @@ static int lcd_getbgcolor(void)
> /************************************************************************/
> /* ** Chipset depending Bitmap / Logo stuff... */
> /************************************************************************/
> +static inline ushort *configuration_get_cmap(void)
> +{
> +#if defined CONFIG_CPU_PXA
> + struct pxafb_info *fbi = &panel_info.pxa;
> + return (ushort *)fbi->palette;
> +#elif defined(CONFIG_MPC823)
> + volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
> + volatile cpm8xx_t *cp = &(immr->im_cpm);
> + return (ushort *)&(cp->lcd_cmap[255 * sizeof(ushort)]);
> +#elif defined(CONFIG_ATMEL_LCD)
> + return (ushort *)(panel_info.mmio + ATMEL_LCDC_LUT(0));
> +#else
> + return (ushort *)panel_info.cmap;
> +#endif
> +}
Please fix and use I/O accessors instead of volatile pointers.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Program maintenance is an entropy-increasing process, and even its
most skilfull execution only delays the subsidence of the system into
unfixable obsolescence. - Fred Brooks, "The Mythical Man Month"
More information about the U-Boot
mailing list