aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/devices.c
diff options
context:
space:
mode:
authorsricharan <r.sricharan@ti.com>2011-03-09 05:30:29 -0500
committerSantosh Shilimkar <santosh.shilimkar@ti.com>2011-03-09 06:53:57 -0500
commita4dc616ae321b5007fba0700fbd39ef13ced750b (patch)
tree95388e2d593019980641ab182f6011f5a5625a37 /arch/arm/mach-omap2/devices.c
parentc464523488063f240652c445fcae2ca8a0eb2647 (diff)
OMAP4: 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 data base. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: sricharan <r.sricharan@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 6a320b61631e..0d2d6a9c303c 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -37,6 +37,7 @@
37#include "control.h" 37#include "control.h"
38 38
39#define L3_MODULES_MAX_LEN 12 39#define L3_MODULES_MAX_LEN 12
40#define L3_MODULES 3
40 41
41static int __init omap3_l3_init(void) 42static int __init omap3_l3_init(void)
42{ 43{
@@ -68,6 +69,37 @@ static int __init omap3_l3_init(void)
68} 69}
69postcore_initcall(omap3_l3_init); 70postcore_initcall(omap3_l3_init);
70 71
72static int __init omap4_l3_init(void)
73{
74 int l, i;
75 struct omap_hwmod *oh[3];
76 struct omap_device *od;
77 char oh_name[L3_MODULES_MAX_LEN];
78
79 /*
80 * To avoid code running on other OMAPs in
81 * multi-omap builds
82 */
83 if (!(cpu_is_omap44xx()))
84 return -ENODEV;
85
86 for (i = 0; i < L3_MODULES; i++) {
87 l = snprintf(oh_name, L3_MODULES_MAX_LEN, "l3_main_%d", i+1);
88
89 oh[i] = omap_hwmod_lookup(oh_name);
90 if (!(oh[i]))
91 pr_err("could not look up %s\n", oh_name);
92 }
93
94 od = omap_device_build_ss("omap_l3_noc", 0, oh, 3, NULL,
95 0, NULL, 0, 0);
96
97 WARN(IS_ERR(od), "could not build omap_device for %s\n", oh_name);
98
99 return PTR_ERR(od);
100}
101postcore_initcall(omap4_l3_init);
102
71#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE) 103#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
72 104
73static struct resource cam_resources[] = { 105static struct resource cam_resources[] = {