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 ff729706c5a147986610194048ed3499237c91d9..63b774fb8089b00e632e57aac55b12d6a575dfbb 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)) {