]> git.karo-electronics.de Git - linux-beck.git/commitdiff
OMAP: powerdomain: Move static allocations from powerdomains.h to a .c file
authorRajendra Nayak <rnayak@ti.com>
Wed, 22 Dec 2010 03:01:17 +0000 (20:01 -0700)
committerPaul Walmsley <paul@pwsan.com>
Wed, 22 Dec 2010 03:01:17 +0000 (20:01 -0700)
powerdomains.h header today has only static definitions.  Adding any
function declarations into it and including it in multiple source file
is expected to cause issues.  Hence move all the static definitions
from powerdomains.h file into powerdomains_data.c file.

Also, create a new powerdomain section of the mach-omap2/Makefile, and
rearrange the prcm-common part of the Makefile, now that the
powerdomain code is in its own Makefile section.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: rearrange Makefile changes, tweaked commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/clockdomains.h
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/powerdomains_data.c [moved from arch/arm/mach-omap2/powerdomains.h with 97% similarity]
arch/arm/plat-omap/include/plat/powerdomain.h

index 4a8ea79a2b0c28fbb1b1d61066b0e0676b5f5461..00c27ebf709dccd1cc4b303e63209e9bb540879e 100644 (file)
@@ -9,14 +9,13 @@ obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o pm.o \
 omap-2-3-common                                = irq.o sdrc.o prm2xxx_3xxx.o
 hwmod-common                           = omap_hwmod.o \
                                          omap_hwmod_common_data.o
-prcm-common                            = prcm.o powerdomain.o
 clock-common                           = clock.o clock_common_data.o \
                                          clockdomain.o clkt_dpll.o \
                                          clkt_clksel.o
 
-obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(hwmod-common)
-obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(hwmod-common)
-obj-$(CONFIG_ARCH_OMAP4) += $(prcm-common) prm44xx.o $(hwmod-common)
+obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
+obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common)
+obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common)
 
 obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 
@@ -74,9 +73,13 @@ endif
 endif
 
 # PRCM
-obj-$(CONFIG_ARCH_OMAP2)               += cm.o
-obj-$(CONFIG_ARCH_OMAP3)               += cm.o
-obj-$(CONFIG_ARCH_OMAP4)               += cm4xxx.o
+obj-$(CONFIG_ARCH_OMAP2)               += prcm.o cm.o
+obj-$(CONFIG_ARCH_OMAP3)               += prcm.o cm.o
+obj-$(CONFIG_ARCH_OMAP4)               += prcm.o cm4xxx.o
+
+# OMAP powerdomain framework
+powerdomain-common                     += powerdomain.o powerdomains_data.o
+obj-y                                  += $(powerdomain-common)
 
 # Clock framework
 obj-$(CONFIG_ARCH_OMAP2)               += $(clock-common) clock2xxx.o \
index 8fc19ff2cd89fba645c07a6311e570d20dbc5945..2a3b10a356d05196938323a675abf385fdba48d6 100644 (file)
 #include <plat/clockdomain.h>
 #include "cm.h"
 #include "prm.h"
+#include "cm-regbits-24xx.h"
+#include "cm-regbits-34xx.h"
+#include "cm-regbits-44xx.h"
+#include "prm-regbits-24xx.h"
+#include "prm-regbits-34xx.h"
 
 /*
  * Clockdomain dependencies for wkdeps/sleepdeps
index d87e23a24dcdcfbc5703a6fc91b8e2d6068dba0c..80a8e0e4d0383795bbd3aa3049e8b112a0cf6a35 100644 (file)
@@ -40,7 +40,6 @@
 
 #include <plat/omap-pm.h>
 #include <plat/powerdomain.h>
-#include "powerdomains.h"
 
 #include <plat/clockdomain.h>
 #include "clockdomains.h"
@@ -340,7 +339,7 @@ void __init omap2_init_common_infrastructure(void)
 {
        u8 postsetup_state;
 
-       pwrdm_init(powerdomains_omap);
+       pwrdm_fw_init();
        clkdm_init(clockdomains_omap, clkdm_autodeps);
        if (cpu_is_omap242x())
                omap2420_hwmod_init();
similarity index 97%
rename from arch/arm/mach-omap2/powerdomains.h
rename to arch/arm/mach-omap2/powerdomains_data.c
index 105cbcaefd3b687d4c38ffc6044452ff17b5e92c..475763e42f351deb3e2fab7c9432c75bc75be610 100644 (file)
@@ -18,9 +18,6 @@
  *    Clock Domain Framework
  */
 
-#ifndef ARCH_ARM_MACH_OMAP2_POWERDOMAINS
-#define ARCH_ARM_MACH_OMAP2_POWERDOMAINS
-
 /*
  * This file contains all of the powerdomains that have some element
  * of software control for the OMAP24xx and OMAP34xx chips.
@@ -49,6 +46,7 @@
  * address offset is different between the C55 and C64 DSPs.
  */
 
+#include <linux/init.h>
 #include <plat/powerdomain.h>
 
 #include "prcm-common.h"
@@ -149,5 +147,7 @@ static struct powerdomain *powerdomains_omap[] __initdata = {
        NULL
 };
 
-
-#endif
+void pwrdm_fw_init(void)
+{
+       pwrdm_init(powerdomains_omap);
+}
index 9ca420dcd2f86da87c0979e6b596b74d6a9b259b..e322b39f3a3f8f81c59fe0c3f517c151fd82b8f7 100644 (file)
@@ -118,6 +118,7 @@ struct powerdomain {
 };
 
 
+void pwrdm_fw_init(void);
 void pwrdm_init(struct powerdomain **pwrdm_list);
 
 struct powerdomain *pwrdm_lookup(const char *name);