diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-24 10:47:38 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-24 10:47:38 -0700 |
commit | c82e6d450fda56cb2d4f68534173d3cd11b32f9f (patch) | |
tree | bac06ba3b1134e5eab072476129e943a1bf04fa6 /arch/mips/include/asm/smp.h | |
parent | c3cb5e193937c7aa50c323e7933507020bd26340 (diff) | |
parent | a620c1632629b42369e78448acc7b384fe1faf48 (diff) | |
download | kernel_samsung_espresso10-c82e6d450fda56cb2d4f68534173d3cd11b32f9f.tar.gz kernel_samsung_espresso10-c82e6d450fda56cb2d4f68534173d3cd11b32f9f.tar.bz2 kernel_samsung_espresso10-c82e6d450fda56cb2d4f68534173d3cd11b32f9f.zip |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
Staging: octeon-ethernet: Fix race freeing transmit buffers.
Staging: octeon-ethernet: Convert to use net_device_ops.
MIPS: Cavium: Add CPU hotplugging code.
MIPS: SMP: Allow suspend and hibernation if CPU hotplug is available
MIPS: Add arch generic CPU hotplug
DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set
MIPS: Sibyte: Fix build error if CONFIG_SERIAL_SB1250_DUART is undefined.
MIPS: MIPSsim: Fix build error if MSC01E_INT_BASE is undefined.
MIPS: Hibernation: Remove SMP TLB and cacheflushing code.
MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users.
MIPS: bug.h Build fix - include <linux/compiler.h>.
Diffstat (limited to 'arch/mips/include/asm/smp.h')
-rw-r--r-- | arch/mips/include/asm/smp.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/mips/include/asm/smp.h b/arch/mips/include/asm/smp.h index 40e5ef1d4d2..aaa2d4ab26d 100644 --- a/arch/mips/include/asm/smp.h +++ b/arch/mips/include/asm/smp.h @@ -13,6 +13,7 @@ #include <linux/bitops.h> #include <linux/linkage.h> +#include <linux/smp.h> #include <linux/threads.h> #include <linux/cpumask.h> @@ -40,6 +41,7 @@ extern int __cpu_logical_map[NR_CPUS]; /* Octeon - Tell another core to flush its icache */ #define SMP_ICACHE_FLUSH 0x4 +extern volatile cpumask_t cpu_callin_map; extern void asmlinkage smp_bootstrap(void); @@ -55,6 +57,24 @@ static inline void smp_send_reschedule(int cpu) mp_ops->send_ipi_single(cpu, SMP_RESCHEDULE_YOURSELF); } +#ifdef CONFIG_HOTPLUG_CPU +static inline int __cpu_disable(void) +{ + extern struct plat_smp_ops *mp_ops; /* private */ + + return mp_ops->cpu_disable(); +} + +static inline void __cpu_die(unsigned int cpu) +{ + extern struct plat_smp_ops *mp_ops; /* private */ + + mp_ops->cpu_die(cpu); +} + +extern void play_dead(void); +#endif + extern asmlinkage void smp_call_function_interrupt(void); extern void arch_send_call_function_single_ipi(int cpu); |