From f3fad9982ad2ca7b6d5e96a6ab205038f30c8206 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <>
Date: Wed, 16 Oct 2013 10:39:01 -0500
Subject: [PATCH 1/3] ARM: OMAP3+: do not register non-dt OPP tables for device
 tree boot

OMAP3+ supports both device tree and non-device tree boot.
Device tree bindings for OMAP3+ is supposed to be added via dts following:

Since we now have device tree entries for OMAP3+ cpu OPPs,
The current code wrongly adds duplicate OPPs. So, dont register OPPs
when booting using device tree.

Signed-off-by: Nishanth Menon <>
 arch/arm/mach-omap2/opp.c | 4 ++++
 1 file changed, 4 insertions(+)

@ arch/arm/mach-omap2/opp.c:20 @
  * GNU General Public License for more details.
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/opp.h>
 #include <linux/cpu.h>
@ arch/arm/mach-omap2/opp.c:44 @ int __init omap_init_opp_table(struct omap_opp_def *opp_def,
 	int i, r;
+	if (of_have_populated_dt())
+		return -EINVAL;
 	if (!opp_def || !opp_def_size) {
 		pr_err("%s: invalid params!\n", __func__);
 		return -EINVAL;