Merge branch 'for_3.6/cleanup/pm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes-non-critical
This commit is contained in:
commit
4348be7a58
|
@ -35,6 +35,7 @@ config ARCH_OMAP3
|
|||
select CPU_V7
|
||||
select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
||||
select ARCH_HAS_OPP
|
||||
select PM if CPU_IDLE
|
||||
select PM_OPP if PM
|
||||
select ARM_CPU_SUSPEND if PM
|
||||
select MULTI_IRQ_HANDLER
|
||||
|
@ -52,6 +53,7 @@ config ARCH_OMAP4
|
|||
select PL310_ERRATA_727915
|
||||
select ARM_ERRATA_720789
|
||||
select ARCH_HAS_OPP
|
||||
select PM if CPU_IDLE
|
||||
select PM_OPP if PM
|
||||
select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
||||
select ARM_CPU_SUSPEND if PM
|
||||
|
|
|
@ -66,9 +66,7 @@ ifeq ($(CONFIG_PM),y)
|
|||
obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
|
||||
obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.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) += cpuidle44xx.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
|
||||
|
@ -82,6 +80,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
|
||||
|
|
|
@ -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;
|
||||
|
@ -379,9 +377,3 @@ int __init omap3_idle_init(void)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
int __init omap3_idle_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_CPU_IDLE */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -53,7 +53,7 @@ int __init omap_init_opp_table(struct omap_opp_def *opp_def,
|
|||
omap_table_init = 1;
|
||||
|
||||
/* Lets now register with OPP library */
|
||||
for (i = 0; i < opp_def_size; i++) {
|
||||
for (i = 0; i < opp_def_size; i++, opp_def++) {
|
||||
struct omap_hwmod *oh;
|
||||
struct device *dev;
|
||||
|
||||
|
@ -86,7 +86,6 @@ int __init omap_init_opp_table(struct omap_opp_def *opp_def,
|
|||
__func__, opp_def->freq,
|
||||
opp_def->hwmod_name, i, r);
|
||||
}
|
||||
opp_def++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -581,10 +581,13 @@ static void __init prcm_setup_regs(void)
|
|||
OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL);
|
||||
|
||||
/* Don't attach IVA interrupts */
|
||||
omap2_prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
|
||||
omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1);
|
||||
omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430ES2_PM_IVAGRPSEL3);
|
||||
omap2_prm_write_mod_reg(0, OMAP3430_PER_MOD, OMAP3430_PM_IVAGRPSEL);
|
||||
if (omap3_has_iva()) {
|
||||
omap2_prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
|
||||
omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1);
|
||||
omap2_prm_write_mod_reg(0, CORE_MOD, OMAP3430ES2_PM_IVAGRPSEL3);
|
||||
omap2_prm_write_mod_reg(0, OMAP3430_PER_MOD,
|
||||
OMAP3430_PM_IVAGRPSEL);
|
||||
}
|
||||
|
||||
/* Clear any pending 'reset' flags */
|
||||
omap2_prm_write_mod_reg(0xffffffff, MPU_MOD, OMAP2_RM_RSTST);
|
||||
|
@ -598,7 +601,9 @@ static void __init prcm_setup_regs(void)
|
|||
/* Clear any pending PRCM interrupts */
|
||||
omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
|
||||
|
||||
omap3_iva_idle();
|
||||
if (omap3_has_iva())
|
||||
omap3_iva_idle();
|
||||
|
||||
omap3_d2d_idle();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue