<snip> > > > void __iomem *omap_ctrl_base_get(void) > > > diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c > > > index a091b53..fb5921b 100644 > > > --- a/arch/arm/mach-omap2/id.c > > > +++ b/arch/arm/mach-omap2/id.c > > > @@ -407,7 +407,12 @@ void __init omap2_check_revision(void) > > > void __init omap2_set_globals_tap(struct omap_globals *omap2_globals) > > > { > > > omap_revision = omap2_globals->class; > > > - tap_base = omap2_globals->tap; > > > + > > > + /* Static mapping, never released */ > > > + if (omap2_globals->tap) { > > > + tap_base = ioremap(omap2_globals->tap, SZ_4K); > > > + WARN_ON(!tap_base); > > > + } > > > > > > if (cpu_is_omap34xx()) > > > tap_prod_id = 0x0210; > > > > Nice clean-up. > > > > We need to check carefully that the cpu detection is done by the time > > we do the ioremap.. Initially we only know the machine class such as > > 34xx/24xx. > Machine class is good enough to select the correct omap_global descriptor. > Isn't it ? > > We have at least cpu_is_omap2420 and cpu_is_omap2430 being used in io.c, > > so all these mappings may not work properly. > > > > Also, we should merge this as one patch to keep the system booting > > between the patches. > Git bisect would be problem. We can merge them together. Merged patch attached. Regards, Santosh
Attachment:
0001-OMAP2-3-4-ioremap-omap_globals-modules.patch
Description: 0001-OMAP2-3-4-ioremap-omap_globals-modules.patch