ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
authorPaul Walmsley <paul@pwsan.com>
Thu, 6 Oct 2011 20:39:28 +0000 (14:39 -0600)
committerTony Lindgren <tony@atomide.com>
Sat, 5 Nov 2011 00:41:07 +0000 (17:41 -0700)
Commit d6504acd2125984c61dce24727dd3842d0144015 ("OMAP2+: hwmod:
remove OMAP_CHIP*") tests the inverse condition of what it should be
testing for the return value from omap_hwmod_register().  This causes
several IP blocks to not be registered on several OMAP3 family devices.

Fixing that bug also unmasked another bug, originally reported by
Chase Maupin <chase.maupin@ti.com> and then subsequently by Abhilash K
V <abhilash.kv@ti.com>, which caused SmartReflex IP blocks to be
registered on SoCs that don't support them.

Thanks to Russell King - ARM Linux <linux@arm.linux.org.uk> for comments
on a previous version of the patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Chase Maupin <chase.maupin@ti.com>
Cc: Abhilash K V <abhilash.kv@ti.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c

index 87a3b01d254c1c01a051a787862d053fb83fe18e..bc9035ec87fc59aa08410cdbc24156619c87c7a1 100644 (file)
@@ -3270,7 +3270,7 @@ int __init omap3xxx_hwmod_init(void)
 
        /* Register hwmods common to all OMAP3 */
        r = omap_hwmod_register(omap3xxx_hwmods);
-       if (!r)
+       if (r < 0)
                return r;
 
        rev = omap_rev();
@@ -3295,7 +3295,7 @@ int __init omap3xxx_hwmod_init(void)
        };
 
        r = omap_hwmod_register(h);
-       if (!r)
+       if (r < 0)
                return r;
 
        /*