Introduce a single omap generic check_revision that routes the request to the right revision of check_revision.
Note: OMAP1 and OMAP2+ are not built into a single kernel. This allows for the headers definitions of omap1_check_revision() and omap2_check_revision() to be used without #ifdefs and additional cpu checks in our single check_revision. Cc: Tony Lindgren <[email protected]> Cc: Angelo Arrifano <[email protected]> Cc: "Zebediah C. McClure" <[email protected]> Cc: Alistair Buxton <[email protected]> Cc: Grazvydas Ignotas <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: Sanjeev Premi <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: Senthilvadivu Gurusamy <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Tarun Kanti DebBarma <[email protected]> Cc: Tomi Valkeinen <[email protected]> Cc: Aaro Koskinen <[email protected]> Cc: Vikram Pandita <[email protected]> Cc: Vishwanath S <[email protected]> Cc: [email protected] Signed-off-by: Nishanth Menon <[email protected]> --- V3: comments from http://marc.info/?t=127747252000003&r=1&w=2 fixed V2: comments from http://marc.info/?t=127725956100006&r=1&w=2 fixed V1: original arch/arm/mach-omap1/io.c | 3 +-- arch/arm/mach-omap2/io.c | 2 +- arch/arm/plat-omap/common.c | 6 ++++++ arch/arm/plat-omap/include/plat/cpu.h | 13 ++++++++++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c index e4d8680..4f9ee73 100644 --- a/arch/arm/mach-omap1/io.c +++ b/arch/arm/mach-omap1/io.c @@ -20,7 +20,6 @@ #include "clock.h" -extern void omap1_check_revision(void); extern void omap_sram_init(void); /* @@ -102,7 +101,7 @@ void __init omap1_map_common_io(void) /* We want to check CPU revision early for cpu_is_omapxxxx() macros. * IO space mapping must be initialized before we can do that. */ - omap1_check_revision(); + omap_check_revision(); #if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850) if (cpu_is_omap7xx()) { diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 4e1f53d..eeb0e30 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c @@ -238,7 +238,7 @@ static void __init _omap2_map_common_io(void) local_flush_tlb_all(); flush_cache_all(); - omap2_check_revision(); + omap_check_revision(); omap_sram_init(); } diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c index fca73cd..4a0e333 100644 --- a/arch/arm/plat-omap/common.c +++ b/arch/arm/plat-omap/common.c @@ -89,6 +89,12 @@ void __init omap_reserve(void) omap_vram_reserve_sdram_lmb(); } +void __init omap_check_revision(void) +{ + omap1_check_revision(); + omap2_check_revision(); +} + /* * 32KHz clocksource ... always available, on pretty most chips except * OMAP 730 and 1510. Other timers could be used as clocksources, with diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index 7514174..5f12a0b 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h @@ -431,7 +431,18 @@ IS_OMAP_TYPE(3517, 0x3517) int omap_chip_is(struct omap_chip_id oci); -void omap2_check_revision(void); +#ifdef CONFIG_ARCH_OMAP2PLUS +extern void omap2_check_revision(void); +#else +static inline void omap2_check_revision(void) {} +#endif + +#ifdef CONFIG_ARCH_OMAP1 +extern void omap1_check_revision(void); +#else +static inline void omap1_check_revision(void) {} +#endif +void omap_check_revision(void); /* * Runtime detection of OMAP3 features -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
