Nishant, > -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > owner@xxxxxxxxxxxxxxx] On Behalf Of Menon, Nishanth > Sent: Friday, June 25, 2010 6:57 PM > To: linux-omap > Cc: Menon, Nishanth; Tony Lindgren; Angelo Arrifano; Zebediah C. McClure; > Alistair Buxton; Grazvydas Ignotas; Paul Walmsley; Premi, Sanjeev; > Shilimkar, Santosh; Guruswamy, Senthilvadivu; Kevin Hilman; Tomi > Valkeinen; Aaro Koskinen; Pandita, Vikram; S, Vishwanath; linux- > omap@xxxxxxxxxxxxxxx > Subject: [PATCH 3/9 v2] omap: generic: introduce a single check_revision > > Introduce a single omap generic check_revision that routes the > request to the right revision of check_revision. > > Cc: Tony Lindgren <tony@xxxxxxxxxxx> > Cc: Angelo Arrifano <miknix@xxxxxxxxx> > Cc: "Zebediah C. McClure" <zmc@xxxxxxxxxx> > Cc: Alistair Buxton <a.j.buxton@xxxxxxxxx> > Cc: Grazvydas Ignotas <notasas@xxxxxxxxx> > Cc: Paul Walmsley <paul@xxxxxxxxx> > Cc: Sanjeev Premi <premi@xxxxxx> > Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > Cc: Senthilvadivu Gurusamy <svadivu@xxxxxx> > Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> > Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxx> > Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> > Cc: Vikram Pandita <vikram.pandita@xxxxxx> > Cc: Vishwanath S <vishwa.s@xxxxxx> > Cc: linux-omap@xxxxxxxxxxxxxxx > > Signed-off-by: Nishanth Menon <nm@xxxxxx> > --- > 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 | 12 ++++++++++++ > arch/arm/plat-omap/include/plat/cpu.h | 13 ++++++++++++- > 4 files changed, 26 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..f240d9a 100644 > --- a/arch/arm/plat-omap/common.c > +++ b/arch/arm/plat-omap/common.c > @@ -89,6 +89,18 @@ void __init omap_reserve(void) > omap_vram_reserve_sdram_lmb(); > } > > +void __init omap_check_revision(void) > +{ > +#ifdef CONFIG_ARCH_OMAP1 > + if (cpu_is_omap7xx() || cpu_is_omap15xx() || cpu_is_omap16xx()) > + omap1_check_revision(); > +#endif > +#ifdef CONFIG_ARCH_OMAP2PLUS > + if (cpu_is_omap24xx() || cpu_is_omap34xx() || cpu_is_omap44xx()) > + omap2_check_revision(); > +#endif > +} Inside omap2_check_revision() there is already check for cpu type. So do we need to have it here? Here is the code snippet!! void __init omap2_check_revision(void) { /* * At this point we have an idea about the processor revision set * earlier with omap2_set_globals_tap(). */ if (cpu_is_omap24xx()) { omap24xx_check_revision(); } else if (cpu_is_omap34xx()) { omap3_check_revision(); omap3_check_features(); omap3_cpuinfo(); return; } else if (cpu_is_omap44xx()) { omap4_check_revision(); return; } else { pr_err("OMAP revision unknown, please fix!\n"); } ... > + > /* > * 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 majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html