diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-25 14:53:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-25 14:53:35 -0400 |
commit | dd58ecba48edf14be1a5f70120fcd3002277a74a (patch) | |
tree | 6185fbeefa169f7574288553bfb86060437fd57e /arch/arm/mach-msm | |
parent | 3f4a12210774eb31c3435a5bc21d57aa20647aeb (diff) | |
parent | 604f4498d08f2caa00acc6707eec8f5759996257 (diff) |
Merge branch 'next/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc
* 'next/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (35 commits)
ARM: msm: platsmp: determine number of CPU cores at boot time
ARM: Tegra: Seaboard: Fix I2C bus numbering for ADT7461
ARM: Tegra: Trimslice: Tri-state DAP3 pinmux
ARM: orion5x: fixup 5181 MPP mask check
ARM: mxs-dma: include <linux/dmaengine.h>
ARM: i.MX53: consistently use MX53_UART_PAD_CTRL for uart txd/rxd/rts/cts
ARM: i.MX53: UARTn_CTS pin should not change RTS input select
ARM: i.MX53: UARTn_TXD pin should not change RXD input select
ARM: mx25: Fix typo on CAN1_RX pad setting
iomux-mx53: add missing 'IOMUX_CONFIG_SION' for some I2C pad definitions
ARM: NUC93X: add UL suffix to VMALLOC_END to ensure it is properly typed
ARM: LPC32XXX: add UL suffix to VMALLOC_END to ensure it is properly typed
ARM: CNS3XXX: add UL suffix to VMALLOC_END to ensure it is properly typed
ARM: i.MX53: Fix IOMUX type o's
ARM i.MX dma: Fix burstsize settings
mach-mx5: fix the I2C clock parents
ARM: mxs/tx28: according to the TX28's datasheet D4-D7 are not used for MMC0
ARM i.MX23/28: platform-mxsfb: Add missing include of linux/dma-mapping.h
ARM: mx53: Fix some interrupts marked as reserved.
MXC: iomux-v3: correct NO_PAD_CTRL definition
...
Fix up trivial conflict in arch/arm/mach-imx/mach-mx31_3ds.c
Diffstat (limited to 'arch/arm/mach-msm')
-rw-r--r-- | arch/arm/mach-msm/platsmp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c index 315b9f365329..1a1af9e56250 100644 --- a/arch/arm/mach-msm/platsmp.c +++ b/arch/arm/mach-msm/platsmp.c | |||
@@ -18,6 +18,7 @@ | |||
18 | 18 | ||
19 | #include <asm/hardware/gic.h> | 19 | #include <asm/hardware/gic.h> |
20 | #include <asm/cacheflush.h> | 20 | #include <asm/cacheflush.h> |
21 | #include <asm/cputype.h> | ||
21 | #include <asm/mach-types.h> | 22 | #include <asm/mach-types.h> |
22 | 23 | ||
23 | #include <mach/msm_iomap.h> | 24 | #include <mach/msm_iomap.h> |
@@ -40,6 +41,12 @@ volatile int pen_release = -1; | |||
40 | 41 | ||
41 | static DEFINE_SPINLOCK(boot_lock); | 42 | static DEFINE_SPINLOCK(boot_lock); |
42 | 43 | ||
44 | static inline int get_core_count(void) | ||
45 | { | ||
46 | /* 1 + the PART[1:0] field of MIDR */ | ||
47 | return ((read_cpuid_id() >> 4) & 3) + 1; | ||
48 | } | ||
49 | |||
43 | void __cpuinit platform_secondary_init(unsigned int cpu) | 50 | void __cpuinit platform_secondary_init(unsigned int cpu) |
44 | { | 51 | { |
45 | /* Configure edge-triggered PPIs */ | 52 | /* Configure edge-triggered PPIs */ |
@@ -147,9 +154,9 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
147 | */ | 154 | */ |
148 | void __init smp_init_cpus(void) | 155 | void __init smp_init_cpus(void) |
149 | { | 156 | { |
150 | unsigned int i; | 157 | unsigned int i, ncores = get_core_count(); |
151 | 158 | ||
152 | for (i = 0; i < NR_CPUS; i++) | 159 | for (i = 0; i < ncores; i++) |
153 | set_cpu_possible(i, true); | 160 | set_cpu_possible(i, true); |
154 | 161 | ||
155 | set_smp_cross_call(gic_raise_softirq); | 162 | set_smp_cross_call(gic_raise_softirq); |