summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2011-10-06 14:39:28 -0600
committerTony Lindgren <tony@atomide.com>2011-11-04 17:41:07 -0700
commitace9021698ef7d298e6d184ae2880b1cb3ebc4c7 (patch)
treeee1610ed2199495a2c98fcada271f0d92f6d22d6
parentaf504e5d39de35dc3de5f42c357fe1b519fea33f (diff)
downloadlinux-stable-ace9021698ef7d298e6d184ae2880b1cb3ebc4c7.tar.gz
linux-stable-ace9021698ef7d298e6d184ae2880b1cb3ebc4c7.tar.bz2
linux-stable-ace9021698ef7d298e6d184ae2880b1cb3ebc4c7.zip
ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
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>
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_3xxx_data.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 87a3b01d254c..bc9035ec87fc 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -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;
/*