Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (185 commits) powerpc: fix compile error with 85xx/p1010rdb.c powerpc: fix compile error with 85xx/p1023_rds.c powerpc/fsl: add MSI support for the Freescale hypervisor arch/powerpc/sysdev/fsl_rmu.c: introduce missing kfree powerpc/fsl: Add support for Integrated Flash Controller powerpc/fsl: update compatiable on fsl 16550 uart nodes powerpc/85xx: fix PCI and localbus properties in p1022ds.dts powerpc/85xx: re-enable ePAPR byte channel driver in corenet32_smp_defconfig powerpc/fsl: Update defconfigs to enable some standard FSL HW features powerpc: Add TBI PHY node to first MDIO bus sbc834x: put full compat string in board match check powerpc/fsl-pci: Allow 64-bit PCIe devices to DMA to any memory address powerpc: Fix unpaired probe_hcall_entry and probe_hcall_exit offb: Fix setting of the pseudo-palette for >8bpp offb: Add palette hack for qemu "standard vga" framebuffer offb: Fix bug in calculating requested vram size powerpc/boot: Change the WARN to INFO for boot wrapper overlap message powerpc/44x: Fix build error on currituck platform powerpc/boot: Change the load address for the wrapper to fit the kernel powerpc/44x: Enable CRASH_DUMP for 440x ... Fix up a trivial conflict in arch/powerpc/include/asm/cputime.h due to the additional sparse-checking code for cputime_t.
This commit is contained in:
@@ -39,9 +39,13 @@
|
||||
#define cpu_should_die() 0
|
||||
#endif
|
||||
|
||||
unsigned long cpuidle_disable = IDLE_NO_OVERRIDE;
|
||||
EXPORT_SYMBOL(cpuidle_disable);
|
||||
|
||||
static int __init powersave_off(char *arg)
|
||||
{
|
||||
ppc_md.power_save = NULL;
|
||||
cpuidle_disable = IDLE_POWERSAVE_OFF;
|
||||
return 0;
|
||||
}
|
||||
__setup("powersave=off", powersave_off);
|
||||
@@ -113,6 +117,29 @@ void cpu_idle(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* cpu_idle_wait - Used to ensure that all the CPUs come out of the old
|
||||
* idle loop and start using the new idle loop.
|
||||
* Required while changing idle handler on SMP systems.
|
||||
* Caller must have changed idle handler to the new value before the call.
|
||||
* This window may be larger on shared systems.
|
||||
*/
|
||||
void cpu_idle_wait(void)
|
||||
{
|
||||
int cpu;
|
||||
smp_mb();
|
||||
|
||||
/* kick all the CPUs so that they exit out of old idle routine */
|
||||
get_online_cpus();
|
||||
for_each_online_cpu(cpu) {
|
||||
if (cpu != smp_processor_id())
|
||||
smp_send_reschedule(cpu);
|
||||
}
|
||||
put_online_cpus();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpu_idle_wait);
|
||||
|
||||
int powersave_nap;
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
|
Reference in New Issue
Block a user