Message ID | 1335276339-11135-18-git-send-email-daniel.lezcano@linaro.org |
---|---|
State | New |
Headers | show |
Daniel Lezcano <daniel.lezcano@linaro.org> writes: > Define a CPU_IDLE section in the makefile, declare the functions in > the header files conforming to the kernel coding rules and remove the > 'define's in the C files. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > Reviewed-by: Jean Pihet <j-pihet@ti.com> This patch breaks compilation for the !CONFIG_PM case: arch/arm/mach-omap2/built-in.o: In function `__omap3_enter_idle': /work/kernel/omap/pm/arch/arm/mach-omap2/cpuidle34xx.c:121: undefined reference to `omap_sram_idle' Since you moved this stuff out of a CONFIG_PM conditional part of the Makefile, it broke because pm34xx.c is still compiled conditionally on CONFIG_PM. When changing Makefile/Kconfig dependencies like this, please be sure to at least compile test with the various options enabled/disabled. For now, I've dropped this patch from the series. Feel free to update/retest/resend since the idea is fine. Kevin
On 05/03/2012 10:34 PM, Kevin Hilman wrote: > Daniel Lezcano<daniel.lezcano@linaro.org> writes: > >> Define a CPU_IDLE section in the makefile, declare the functions in >> the header files conforming to the kernel coding rules and remove the >> 'define's in the C files. >> >> Signed-off-by: Daniel Lezcano<daniel.lezcano@linaro.org> >> Reviewed-by: Jean Pihet<j-pihet@ti.com> > > This patch breaks compilation for the !CONFIG_PM case: > > arch/arm/mach-omap2/built-in.o: In function `__omap3_enter_idle': > /work/kernel/omap/pm/arch/arm/mach-omap2/cpuidle34xx.c:121: undefined reference to `omap_sram_idle' > > Since you moved this stuff out of a CONFIG_PM conditional part of the > Makefile, it broke because pm34xx.c is still compiled conditionally on > CONFIG_PM. > > When changing Makefile/Kconfig dependencies like this, please > be sure to at least compile test with the various options > enabled/disabled. > > For now, I've dropped this patch from the series. Feel free to > update/retest/resend since the idea is fine. Ok, I will update it with the various options. -- Daniel
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index d8604a3..92d5fb6 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@ -64,10 +64,8 @@ endif ifeq ($(CONFIG_PM),y) obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o -obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o \ - cpuidle34xx.o -obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \ - cpuidle44xx.o +obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o +obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o obj-$(CONFIG_PM_DEBUG) += pm-debug.o obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o @@ -81,6 +79,11 @@ endif endif +ifeq ($(CONFIG_CPU_IDLE),y) +obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o +obj-$(CONFIG_ARCH_OMAP4) += cpuidle44xx.o +endif + # PRCM obj-y += prm_common.o obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c index ee02a8c..0d28596 100644 --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -36,8 +36,6 @@ #include "control.h" #include "common.h" -#ifdef CONFIG_CPU_IDLE - /* Mach specific information to be recorded in the C-state driver_data */ struct omap3_idle_statedata { u32 mpu_state; @@ -376,9 +374,3 @@ int __init omap3_idle_init(void) return 0; } -#else -int __init omap3_idle_init(void) -{ - return 0; -} -#endif /* CONFIG_CPU_IDLE */ diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index be1617c..02d15bb 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@ -22,8 +22,6 @@ #include "pm.h" #include "prm.h" -#ifdef CONFIG_CPU_IDLE - /* Machine specific information */ struct omap4_idle_statedata { u32 cpu_state; @@ -199,9 +197,3 @@ int __init omap4_idle_init(void) return 0; } -#else -int __init omap4_idle_init(void) -{ - return 0; -} -#endif /* CONFIG_CPU_IDLE */ diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h index 7856489..ab04d3b 100644 --- a/arch/arm/mach-omap2/pm.h +++ b/arch/arm/mach-omap2/pm.h @@ -15,12 +15,25 @@ #include "powerdomain.h" +#ifdef CONFIG_CPU_IDLE +extern int __init omap3_idle_init(void); +extern int __init omap4_idle_init(void); +#else +static inline int omap3_idle_init(void) +{ + return 0; +} + +static inline int omap4_idle_init(void) +{ + return 0; +} +#endif + extern void *omap3_secure_ram_storage; extern void omap3_pm_off_mode_enable(int); extern void omap_sram_idle(void); extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state); -extern int omap3_idle_init(void); -extern int omap4_idle_init(void); extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused); extern int (*omap_pm_suspend)(void);