aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/devices.c
diff options
context:
space:
mode:
authorsricharan <r.sricharan@ti.com>2011-02-08 14:10:45 +0530
committerSantosh Shilimkar <santosh.shilimkar@ti.com>2011-03-09 17:23:56 +0530
commit0abcf6185eb87b9e00a821513802e56200378a6a (patch)
tree6f4505bed865302a286c67088b9d0e5db117d795 /arch/arm/mach-omap2/devices.c
parent4bb194dc9471c79caa1952ecdb31148074ac1abf (diff)
downloadkernel_samsung_smdk4412-0abcf6185eb87b9e00a821513802e56200378a6a.zip
kernel_samsung_smdk4412-0abcf6185eb87b9e00a821513802e56200378a6a.tar.gz
kernel_samsung_smdk4412-0abcf6185eb87b9e00a821513802e56200378a6a.tar.bz2
OMAP3: devices: Initialise the l3 device with the hwmod data.
The l3 interconnect device is build with all the data required to handle the error logging. The data is extracted from the hwmod database. Signed-off-by: sricharan <r.sricharan@ti.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Benoit Cousson <b-cousson@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/devices.c')
-rw-r--r--arch/arm/mach-omap2/devices.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 2cb720b..6a320b6 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -36,6 +36,38 @@
#include "mux.h"
#include "control.h"
+#define L3_MODULES_MAX_LEN 12
+
+static int __init omap3_l3_init(void)
+{
+ int l;
+ struct omap_hwmod *oh;
+ struct omap_device *od;
+ char oh_name[L3_MODULES_MAX_LEN];
+
+ /*
+ * To avoid code running on other OMAPs in
+ * multi-omap builds
+ */
+ if (!(cpu_is_omap34xx()))
+ return -ENODEV;
+
+ l = snprintf(oh_name, L3_MODULES_MAX_LEN, "l3_main");
+
+ oh = omap_hwmod_lookup(oh_name);
+
+ if (!oh)
+ pr_err("could not look up %s\n", oh_name);
+
+ od = omap_device_build("omap_l3_smx", 0, oh, NULL, 0,
+ NULL, 0, 0);
+
+ WARN(IS_ERR(od), "could not build omap_device for %s\n", oh_name);
+
+ return PTR_ERR(od);
+}
+postcore_initcall(omap3_l3_init);
+
#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
static struct resource cam_resources[] = {