diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/io.c | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap-pm.h | 31 | ||||
-rw-r--r-- | arch/arm/plat-omap/omap-pm-noop.c | 11 |
3 files changed, 12 insertions, 33 deletions
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 4605d5073a9b..5577ab2faad2 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -347,8 +347,7 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
347 | else if (cpu_is_omap44xx()) | 347 | else if (cpu_is_omap44xx()) |
348 | omap44xx_hwmod_init(); | 348 | omap44xx_hwmod_init(); |
349 | 349 | ||
350 | /* The OPP tables have to be registered before a clk init */ | 350 | omap_pm_if_early_init(); |
351 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); | ||
352 | 351 | ||
353 | if (cpu_is_omap2420()) | 352 | if (cpu_is_omap2420()) |
354 | omap2420_clk_init(); | 353 | omap2420_clk_init(); |
diff --git a/arch/arm/plat-omap/include/plat/omap-pm.h b/arch/arm/plat-omap/include/plat/omap-pm.h index 728fbb9dd549..62c3fe918ab2 100644 --- a/arch/arm/plat-omap/include/plat/omap-pm.h +++ b/arch/arm/plat-omap/include/plat/omap-pm.h | |||
@@ -17,27 +17,10 @@ | |||
17 | #include <linux/device.h> | 17 | #include <linux/device.h> |
18 | #include <linux/cpufreq.h> | 18 | #include <linux/cpufreq.h> |
19 | #include <linux/clk.h> | 19 | #include <linux/clk.h> |
20 | #include <linux/opp.h> | ||
20 | 21 | ||
21 | #include "powerdomain.h" | 22 | #include "powerdomain.h" |
22 | 23 | ||
23 | /** | ||
24 | * struct omap_opp - clock frequency-to-OPP ID table for DSP, MPU | ||
25 | * @rate: target clock rate | ||
26 | * @opp_id: OPP ID | ||
27 | * @min_vdd: minimum VDD1 voltage (in millivolts) for this OPP | ||
28 | * | ||
29 | * Operating performance point data. Can vary by OMAP chip and board. | ||
30 | */ | ||
31 | struct omap_opp { | ||
32 | unsigned long rate; | ||
33 | u8 opp_id; | ||
34 | u16 min_vdd; | ||
35 | }; | ||
36 | |||
37 | extern struct omap_opp *mpu_opps; | ||
38 | extern struct omap_opp *dsp_opps; | ||
39 | extern struct omap_opp *l3_opps; | ||
40 | |||
41 | /* | 24 | /* |
42 | * agent_id values for use with omap_pm_set_min_bus_tput(): | 25 | * agent_id values for use with omap_pm_set_min_bus_tput(): |
43 | * | 26 | * |
@@ -59,9 +42,11 @@ extern struct omap_opp *l3_opps; | |||
59 | * framework starts. The "_if_" is to avoid name collisions with the | 42 | * framework starts. The "_if_" is to avoid name collisions with the |
60 | * PM idle-loop code. | 43 | * PM idle-loop code. |
61 | */ | 44 | */ |
62 | int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table, | 45 | #ifdef CONFIG_OMAP_PM_NONE |
63 | struct omap_opp *dsp_opp_table, | 46 | #define omap_pm_if_early_init() 0 |
64 | struct omap_opp *l3_opp_table); | 47 | #else |
48 | int __init omap_pm_if_early_init(void); | ||
49 | #endif | ||
65 | 50 | ||
66 | /** | 51 | /** |
67 | * omap_pm_if_init - OMAP PM init code called after clock fw init | 52 | * omap_pm_if_init - OMAP PM init code called after clock fw init |
@@ -69,7 +54,11 @@ int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table, | |||
69 | * The main initialization code. OPP tables are passed in here. The | 54 | * The main initialization code. OPP tables are passed in here. The |
70 | * "_if_" is to avoid name collisions with the PM idle-loop code. | 55 | * "_if_" is to avoid name collisions with the PM idle-loop code. |
71 | */ | 56 | */ |
57 | #ifdef CONFIG_OMAP_PM_NONE | ||
58 | #define omap_pm_if_init() 0 | ||
59 | #else | ||
72 | int __init omap_pm_if_init(void); | 60 | int __init omap_pm_if_init(void); |
61 | #endif | ||
73 | 62 | ||
74 | /** | 63 | /** |
75 | * omap_pm_if_exit - OMAP PM exit code | 64 | * omap_pm_if_exit - OMAP PM exit code |
diff --git a/arch/arm/plat-omap/omap-pm-noop.c b/arch/arm/plat-omap/omap-pm-noop.c index e129ce80c53b..ca75abb18068 100644 --- a/arch/arm/plat-omap/omap-pm-noop.c +++ b/arch/arm/plat-omap/omap-pm-noop.c | |||
@@ -26,10 +26,6 @@ | |||
26 | 26 | ||
27 | #include <plat/powerdomain.h> | 27 | #include <plat/powerdomain.h> |
28 | 28 | ||
29 | struct omap_opp *dsp_opps; | ||
30 | struct omap_opp *mpu_opps; | ||
31 | struct omap_opp *l3_opps; | ||
32 | |||
33 | /* | 29 | /* |
34 | * Device-driver-originated constraints (via board-*.c files) | 30 | * Device-driver-originated constraints (via board-*.c files) |
35 | */ | 31 | */ |
@@ -308,13 +304,8 @@ int omap_pm_get_dev_context_loss_count(struct device *dev) | |||
308 | 304 | ||
309 | 305 | ||
310 | /* Should be called before clk framework init */ | 306 | /* Should be called before clk framework init */ |
311 | int __init omap_pm_if_early_init(struct omap_opp *mpu_opp_table, | 307 | int __init omap_pm_if_early_init(void) |
312 | struct omap_opp *dsp_opp_table, | ||
313 | struct omap_opp *l3_opp_table) | ||
314 | { | 308 | { |
315 | mpu_opps = mpu_opp_table; | ||
316 | dsp_opps = dsp_opp_table; | ||
317 | l3_opps = l3_opp_table; | ||
318 | return 0; | 309 | return 0; |
319 | } | 310 | } |
320 | 311 | ||