On Fri, 2012-09-28 at 13:35 +0300, Tomi Valkeinen wrote:
> Add new enum, omapdss_version, that is used to tell which DSS hardware
> version the SoC has. This enum is initialized during platform init, and
> passed in the platform data to omapdss driver.
> 
> Note that the versions are not "continuous", that is, you cannot check
> if the version is less or greater than something, but you need to check
> for exact version match. In other words, this is invalid:
> 
> /* test if DSS is 3630 or earlier */
> if (ver <= OMAPDSS_VER_OMAP3630)
>       ...
> 
> Signed-off-by: Tomi Valkeinen <[email protected]>
> ---
>  arch/arm/mach-omap2/display.c |   38 ++++++++++++++++++++++++++++++++++++++
>  include/video/omapdss.h       |   14 ++++++++++++++
>  2 files changed, 52 insertions(+)
> 
> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
> index ee40739..33555da 100644
> --- a/arch/arm/mach-omap2/display.c
> +++ b/arch/arm/mach-omap2/display.c
> @@ -284,6 +284,35 @@ err:
>       return ERR_PTR(r);
>  }
>  
> +static enum omapdss_version omap_display_get_version(void)
> +{
> +     if (cpu_is_omap24xx())
> +             return OMAPDSS_VER_OMAP24xx;
> +     else if (cpu_is_omap3630())
> +             return OMAPDSS_VER_OMAP3630;
> +     else if (cpu_is_omap34xx()) {
> +             if (soc_is_am35xx()) {
> +                     return OMAPDSS_VER_AM35xx;
> +             } else {
> +                     if (omap_rev() < OMAP3430_REV_ES3_0)
> +                             return OMAPDSS_VER_OMAP34xx_ES1;
> +                     else
> +                             return OMAPDSS_VER_OMAP34xx_ES3;
> +             }
> +     } else if (omap_rev() == OMAP4430_REV_ES1_0)
> +             return OMAPDSS_VER_OMAP4430_ES1;
> +     else if (omap_rev() == OMAP4430_REV_ES2_0 ||
> +                     omap_rev() == OMAP4430_REV_ES2_1 ||
> +                     omap_rev() == OMAP4430_REV_ES2_2)
> +             return OMAPDSS_VER_OMAP4430_ES2;
> +     else if (cpu_is_omap44xx())
> +             return OMAPDSS_VER_OMAP4;
> +     else if (soc_is_omap54xx())
> +             return OMAPDSS_VER_OMAP5;
> +     else
> +             return OMAPDSS_VER_UNKNOWN

Sigh. I made a late minor change, and of course I broke the compilation
and didn't check it. So there's a ; missing in the above line.

 Tomi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to