aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRajendra Nayak <rnayak@ti.com>2010-12-21 22:01:17 -0500
committerPaul Walmsley <paul@pwsan.com>2010-12-21 22:01:17 -0500
commit74bea6b9881f4b32f6c0379e46d2f5e16fd34a07 (patch)
tree5814d6a95d8edb64b9e4d01e75dfeb15edd8d972
parentff2516fbef20ed9edd9cc2fc8b8b48d5cb5a932f (diff)
OMAP: powerdomain: Move static allocations from powerdomains.h to a .c file
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>
-rw-r--r--arch/arm/mach-omap2/Makefile17
-rw-r--r--arch/arm/mach-omap2/clockdomains.h5
-rw-r--r--arch/arm/mach-omap2/io.c3
-rw-r--r--arch/arm/mach-omap2/powerdomains_data.c (renamed from arch/arm/mach-omap2/powerdomains.h)10
-rw-r--r--arch/arm/plat-omap/include/plat/powerdomain.h1
5 files changed, 22 insertions, 14 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 4a8ea79a2b0c..00c27ebf709d 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -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 \
9omap-2-3-common = irq.o sdrc.o prm2xxx_3xxx.o 9omap-2-3-common = irq.o sdrc.o prm2xxx_3xxx.o
10hwmod-common = omap_hwmod.o \ 10hwmod-common = omap_hwmod.o \
11 omap_hwmod_common_data.o 11 omap_hwmod_common_data.o
12prcm-common = prcm.o powerdomain.o
13clock-common = clock.o clock_common_data.o \ 12clock-common = clock.o clock_common_data.o \
14 clockdomain.o clkt_dpll.o \ 13 clockdomain.o clkt_dpll.o \
15 clkt_clksel.o 14 clkt_clksel.o
16 15
17obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(hwmod-common) 16obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
18obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(hwmod-common) 17obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common)
19obj-$(CONFIG_ARCH_OMAP4) += $(prcm-common) prm44xx.o $(hwmod-common) 18obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common)
20 19
21obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o 20obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
22 21
@@ -74,9 +73,13 @@ endif
74endif 73endif
75 74
76# PRCM 75# PRCM
77obj-$(CONFIG_ARCH_OMAP2) += cm.o 76obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm.o
78obj-$(CONFIG_ARCH_OMAP3) += cm.o 77obj-$(CONFIG_ARCH_OMAP3) += prcm.o cm.o
79obj-$(CONFIG_ARCH_OMAP4) += cm4xxx.o 78obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm4xxx.o
79
80# OMAP powerdomain framework
81powerdomain-common += powerdomain.o powerdomains_data.o
82obj-y += $(powerdomain-common)
80 83
81# Clock framework 84# Clock framework
82obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \ 85obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \
diff --git a/arch/arm/mach-omap2/clockdomains.h b/arch/arm/mach-omap2/clockdomains.h
index 8fc19ff2cd89..2a3b10a356d0 100644
--- a/arch/arm/mach-omap2/clockdomains.h
+++ b/arch/arm/mach-omap2/clockdomains.h
@@ -38,6 +38,11 @@
38#include <plat/clockdomain.h> 38#include <plat/clockdomain.h>
39#include "cm.h" 39#include "cm.h"
40#include "prm.h" 40#include "prm.h"
41#include "cm-regbits-24xx.h"
42#include "cm-regbits-34xx.h"
43#include "cm-regbits-44xx.h"
44#include "prm-regbits-24xx.h"
45#include "prm-regbits-34xx.h"
41 46
42/* 47/*
43 * Clockdomain dependencies for wkdeps/sleepdeps 48 * Clockdomain dependencies for wkdeps/sleepdeps
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index d87e23a24dcd..80a8e0e4d038 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -40,7 +40,6 @@
40 40
41#include <plat/omap-pm.h> 41#include <plat/omap-pm.h>
42#include <plat/powerdomain.h> 42#include <plat/powerdomain.h>
43#include "powerdomains.h"
44 43
45#include <plat/clockdomain.h> 44#include <plat/clockdomain.h>
46#include "clockdomains.h" 45#include "clockdomains.h"
@@ -340,7 +339,7 @@ void __init omap2_init_common_infrastructure(void)
340{ 339{
341 u8 postsetup_state; 340 u8 postsetup_state;
342 341
343 pwrdm_init(powerdomains_omap); 342 pwrdm_fw_init();
344 clkdm_init(clockdomains_omap, clkdm_autodeps); 343 clkdm_init(clockdomains_omap, clkdm_autodeps);
345 if (cpu_is_omap242x()) 344 if (cpu_is_omap242x())
346 omap2420_hwmod_init(); 345 omap2420_hwmod_init();
diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains_data.c
index 105cbcaefd3b..475763e42f35 100644
--- a/arch/arm/mach-omap2/powerdomains.h
+++ b/arch/arm/mach-omap2/powerdomains_data.c
@@ -18,9 +18,6 @@
18 * Clock Domain Framework 18 * Clock Domain Framework
19 */ 19 */
20 20
21#ifndef ARCH_ARM_MACH_OMAP2_POWERDOMAINS
22#define ARCH_ARM_MACH_OMAP2_POWERDOMAINS
23
24/* 21/*
25 * This file contains all of the powerdomains that have some element 22 * This file contains all of the powerdomains that have some element
26 * of software control for the OMAP24xx and OMAP34xx chips. 23 * of software control for the OMAP24xx and OMAP34xx chips.
@@ -49,6 +46,7 @@
49 * address offset is different between the C55 and C64 DSPs. 46 * address offset is different between the C55 and C64 DSPs.
50 */ 47 */
51 48
49#include <linux/init.h>
52#include <plat/powerdomain.h> 50#include <plat/powerdomain.h>
53 51
54#include "prcm-common.h" 52#include "prcm-common.h"
@@ -149,5 +147,7 @@ static struct powerdomain *powerdomains_omap[] __initdata = {
149 NULL 147 NULL
150}; 148};
151 149
152 150void pwrdm_fw_init(void)
153#endif 151{
152 pwrdm_init(powerdomains_omap);
153}
diff --git a/arch/arm/plat-omap/include/plat/powerdomain.h b/arch/arm/plat-omap/include/plat/powerdomain.h
index 9ca420dcd2f8..e322b39f3a3f 100644
--- a/arch/arm/plat-omap/include/plat/powerdomain.h
+++ b/arch/arm/plat-omap/include/plat/powerdomain.h
@@ -118,6 +118,7 @@ struct powerdomain {
118}; 118};
119 119
120 120
121void pwrdm_fw_init(void);
121void pwrdm_init(struct powerdomain **pwrdm_list); 122void pwrdm_init(struct powerdomain **pwrdm_list);
122 123
123struct powerdomain *pwrdm_lookup(const char *name); 124struct powerdomain *pwrdm_lookup(const char *name);