[RFC PATCH 03/11] arm: omap: device: create a device for system control module
Eduardo Valentin
eduardo.valentin at ti.com
Fri May 25 04:25:53 EDT 2012
From: Kishon Vijay Abraham I <kishon at ti.com>
Extracts the device data from hwmod database and create a platform device
using omap device build.
The device build is done during postcore_initcall.
Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin at ti.com>
---
arch/arm/mach-omap2/devices.c | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 152c266..9332673 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -40,6 +40,32 @@
#define L3_MODULES_MAX_LEN 12
#define L3_MODULES 3
+static int omap_init_control(void)
+{
+ struct omap_hwmod *oh;
+ struct platform_device *pdev;
+ const char *oh_name, *name;
+
+ oh_name = "ctrl_module_core";
+ name = "omap-control-core";
+
+ oh = omap_hwmod_lookup(oh_name);
+ if (!oh) {
+ pr_err("Could not lookup hwmod for %s\n", oh_name);
+ return PTR_ERR(oh);
+ }
+
+ pdev = omap_device_build(name, -1, oh, NULL, 0, NULL, 0, true);
+ if (IS_ERR(pdev)) {
+ pr_err("Could not build omap_device for %s %s\n",
+ name, oh_name);
+ return PTR_ERR(pdev);
+ }
+
+ return 0;
+}
+postcore_initcall(omap_init_control);
+
static int __init omap3_l3_init(void)
{
struct omap_hwmod *oh;
--
1.7.7.1.488.ge8e1c
More information about the linux-arm-kernel
mailing list