ARM: OMAP3/4: consolidate cpuidle Makefile
The current Makefile compiles the cpuidle34xx.c and cpuidle44xx.c files even if the cpuidle option is not set in the kernel. This patch fixes this by creating a section in the Makefile where these files are compiled only if the CONFIG_CPU_IDLE option is set. This modification breaks an implicit dependency between CPU_IDLE and PM as they belong to the same block in the Makefile. This is fixed in the Kconfig by selecting explicitely PM is CPU_IDLE is set. The linux coding style recommend to use no-op functions in the headers when the subsystem is disabled instead of adding big section in C files. This patch fix this also. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Jean Pihet <j-pihet@ti.com> Reviewed-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
parent
a819c4f16d
commit
164e0cbf60
|
@ -35,6 +35,7 @@ config ARCH_OMAP3
|
||||||
select CPU_V7
|
select CPU_V7
|
||||||
select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
||||||
select ARCH_HAS_OPP
|
select ARCH_HAS_OPP
|
||||||
|
select PM if CPU_IDLE
|
||||||
select PM_OPP if PM
|
select PM_OPP if PM
|
||||||
select ARM_CPU_SUSPEND if PM
|
select ARM_CPU_SUSPEND if PM
|
||||||
select MULTI_IRQ_HANDLER
|
select MULTI_IRQ_HANDLER
|
||||||
|
@ -52,6 +53,7 @@ config ARCH_OMAP4
|
||||||
select PL310_ERRATA_727915
|
select PL310_ERRATA_727915
|
||||||
select ARM_ERRATA_720789
|
select ARM_ERRATA_720789
|
||||||
select ARCH_HAS_OPP
|
select ARCH_HAS_OPP
|
||||||
|
select PM if CPU_IDLE
|
||||||
select PM_OPP if PM
|
select PM_OPP if PM
|
||||||
select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
||||||
select ARM_CPU_SUSPEND if PM
|
select ARM_CPU_SUSPEND if PM
|
||||||
|
|
|
@ -66,9 +66,7 @@ ifeq ($(CONFIG_PM),y)
|
||||||
obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
|
obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
|
||||||
obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o
|
obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o
|
||||||
obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
|
obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
|
||||||
obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o
|
|
||||||
obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o
|
obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o
|
||||||
obj-$(CONFIG_ARCH_OMAP4) += cpuidle44xx.o
|
|
||||||
obj-$(CONFIG_PM_DEBUG) += pm-debug.o
|
obj-$(CONFIG_PM_DEBUG) += pm-debug.o
|
||||||
obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o
|
obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o
|
||||||
obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
|
obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
|
||||||
|
@ -82,6 +80,11 @@ endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_CPU_IDLE),y)
|
||||||
|
obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o
|
||||||
|
obj-$(CONFIG_ARCH_OMAP4) += cpuidle44xx.o
|
||||||
|
endif
|
||||||
|
|
||||||
# PRCM
|
# PRCM
|
||||||
obj-y += prm_common.o
|
obj-y += prm_common.o
|
||||||
obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o
|
obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o
|
||||||
|
|
|
@ -36,8 +36,6 @@
|
||||||
#include "control.h"
|
#include "control.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_IDLE
|
|
||||||
|
|
||||||
/* Mach specific information to be recorded in the C-state driver_data */
|
/* Mach specific information to be recorded in the C-state driver_data */
|
||||||
struct omap3_idle_statedata {
|
struct omap3_idle_statedata {
|
||||||
u32 mpu_state;
|
u32 mpu_state;
|
||||||
|
@ -379,9 +377,3 @@ int __init omap3_idle_init(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
int __init omap3_idle_init(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_CPU_IDLE */
|
|
||||||
|
|
|
@ -22,8 +22,6 @@
|
||||||
#include "pm.h"
|
#include "pm.h"
|
||||||
#include "prm.h"
|
#include "prm.h"
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_IDLE
|
|
||||||
|
|
||||||
/* Machine specific information */
|
/* Machine specific information */
|
||||||
struct omap4_idle_statedata {
|
struct omap4_idle_statedata {
|
||||||
u32 cpu_state;
|
u32 cpu_state;
|
||||||
|
@ -199,9 +197,3 @@ int __init omap4_idle_init(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
int __init omap4_idle_init(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_CPU_IDLE */
|
|
||||||
|
|
|
@ -15,12 +15,25 @@
|
||||||
|
|
||||||
#include "powerdomain.h"
|
#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_secure_ram_storage;
|
||||||
extern void omap3_pm_off_mode_enable(int);
|
extern void omap3_pm_off_mode_enable(int);
|
||||||
extern void omap_sram_idle(void);
|
extern void omap_sram_idle(void);
|
||||||
extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
|
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_clkdms_setup(struct clockdomain *clkdm, void *unused);
|
||||||
extern int (*omap_pm_suspend)(void);
|
extern int (*omap_pm_suspend)(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue