ARM: OMAP2+: voltage: fixup oscillator handling when CONFIG_PM=n
PATCH 1/1 ARM: OMAP2+: voltage: fixup oscillator handling when CONFIG_PM=n
From: Kevin Hilman <[email protected]>
commit 908b75e8 (ARM: OMAP: add support for oscillator setup) added a new API for oscillator setup, but is broken when CONFIG_PM=n.
The new functions have dummy definitions when CONFIG_PM=n, but also have full implementations available, which conflict.
To fix, wrap the PM implmentations in #ifdef CONFIG_PM.
---
This applies to Tony's omap-for-v3.8/pm branch, which includes my for_3.8-pm-voltage tag where this bug was introduced.
arch/arm/mach-omap2/pm.c | 2 ++ arch/arm/mach-omap2/pm.h | 2 +- arch/arm/mach-omap2/vc.c | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/pm.c +2 -0
@@ -39,6 +39,7 @@ static struct omap_device_pm_latency *pm_lats;*/ int (*omap_pm_suspend)(void ); +#ifdef CONFIG_PM /** * struct omap2_oscillator - Describe the board main oscillator latencies * @startup_time: oscillator startup latency
@@ -68,6 +69,7 @@ void omap_pm_get_oscillator(u32 *tstart, u32 *tshut) *tstart = oscillator.startup_time; *tshut = oscillator.shutdown_time; } +#endif static int __init _init_omap_device (char *name) {
arch/arm/mach-omap2/pm.h +1 -1
@@ -135,7 +135,7 @@ extern void omap_pm_get_oscillator(u32 *tstart, u32 *tshut);extern void omap_pm_setup_sr_i2c_pcb_length (u32 mm);#else static inline void omap_pm_setup_oscillator (u32 tstart,u32 tshut) { } -static inline void omap_pm_get_oscillator (u32 *tstart,u32 *tshut) { } +static inline void omap_pm_get_oscillator (u32 *tstart,u32 *tshut) { *tstart = *tshut =0 ; }static inline void omap_pm_setup_sr_i2c_pcb_length (u32 mm) { }#endif
arch/arm/mach-omap2/vc.c +2 -0
@@ -666,6 +666,7 @@ static u8 omap_vc_calc_vsel(struct voltagedomain *voltdm, u32 uvolt)return voltdm->pmic->uv_to_vsel (uvolt); } +#ifdef CONFIG_PM /** * omap_pm_setup_sr_i2c_pcb_length - set length of SR I2C traces on PCB * @mm: length of the PCB trace in millimetres
@@ -678,6 +679,7 @@ void __init omap_pm_setup_sr_i2c_pcb_length(u32 mm) { sr_i2c_pcb_length = mm; } +#endif void __init omap_vc_init_channel (struct voltagedomain *voltdm) {
Signature · 1 line
1.8.0
Tony Lindgren
maintainerPATCH 1/1 ARM: OMAP2+: voltage: fixup oscillator handling when CONFIG_PM=n
Quoted 8 lines · Kevin Hilman
From: Kevin Hilman <[email protected]>
commit
908b75e8(ARM: OMAP: add support for oscillator setup) added a new API for oscillator setup, but is broken whenCONFIG_PM=n.The new functions have dummy definitions when
CONFIG_PM=n, but also have full implementations available, which conflict.
Quoted 7 lines
To fix, wrap the PM implmentations in #ifdef
CONFIG_PM.Cc Tero Kristo <[email protected]>Signed-off-by Kevin Hilman <[email protected]>---
This applies to Tony's omap-for-v3.8/pm branch, which includes my for_3.8-pm-voltage tag where this bug was introduced.
Thanks for fixing this quickly. Applied to omap-for-v3.8/pm-part2 and pushed out.
Regards,
Tony