ARM: OMAP2+: hwmod: Don't call _init_mpu_rt_base if no sysc
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Tue, 19 Mar 2013 11:30:31 +0000 (17:00 +0530)
committerBenoit Cousson <benoit.cousson@linaro.org>
Mon, 8 Apr 2013 22:21:22 +0000 (00:21 +0200)
OMAP hwmod layer does the reset of the IPs in early code so that
we have SOC in sane state. To do the soft-reset, it needs to ioremap()
the IP address space to be able to write to sysconfig registers.

But there are few hwmod which doesn't have sysconfig registers and hence
no need to ioremap() them in early init code.

Prevent calling the _init_mpu_rt_base() conditional based on sysc
availability.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
arch/arm/mach-omap2/omap_hwmod.c

index ff72970..63b774f 100644 (file)
@@ -2445,7 +2445,8 @@ static int __init _init(struct omap_hwmod *oh, void *data)
        if (oh->_state != _HWMOD_STATE_REGISTERED)
                return 0;
 
-       _init_mpu_rt_base(oh, NULL);
+       if (oh->class->sysc)
+               _init_mpu_rt_base(oh, NULL);
 
        r = _init_clocks(oh, NULL);
        if (IS_ERR_VALUE(r)) {