linux/arch/arm/mach-ux500
Stephen Boyd 7fa22bd546 ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1
If an ARM system has multiple cpus in the same socket and the
kernel is booted with maxcpus=1, secondary cpus are possible but
not present due to how platform_smp_prepare_cpus() is called.
Since most typical ARM processors don't actually support physical
hotplug, initialize the present map to be equal to the possible
map in generic ARM SMP code. Also, always call
platform_smp_prepare_cpus() as long as max_cpus is non-zero (0
means no SMP) to allow platform code to do any SMP setup.

After applying this patch it's possible to boot an ARM system
with maxcpus=1 on the command line and then hotplug in secondary
cpus via sysfs. This is more in line with how x86 does things.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: David Brown <davidb@codeaurora.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-07-07 14:45:07 +01:00
..
include/mach ARM: 6828/1: mach-ux500: delete SSP PrimeCell ID 2011-05-26 10:33:34 +01:00
board-mop500-pins.c mach-ux500: add hrefv60 GPIO pins 2011-03-14 14:05:16 +01:00
board-mop500-regulators.c mach-ux500: configure board for the TPS61052 regulator v2 2011-03-28 08:54:23 +02:00
board-mop500-regulators.h mach-ux500: configure board for the TPS61052 regulator v2 2011-03-28 08:54:23 +02:00
board-mop500-sdi.c ARM: 6830/1: mach-ux500: force PrimeCell revisions 2011-05-26 10:33:35 +01:00
board-mop500-stuib.c mach-ux500: basic HREFv60 support v2 2011-03-14 14:05:16 +01:00
board-mop500-u8500uib.c mach-ux500: add U8500 UIB platform data 2011-03-14 14:05:10 +01:00
board-mop500-uib.c mach-ux500: dynamic UIB (user interface boards) detection 2011-03-14 14:05:10 +01:00
board-mop500.c mach-ux500: set proper I2C platform data from MOP500s 2011-05-25 00:21:01 +01:00
board-mop500.h mach-ux500: board support for AB8500 GPIO driver 2011-03-28 08:47:18 +02:00
board-u5500-sdi.c mach-ux500: config Ux500 PL011 PL022 PL180 for DMA 2011-03-14 14:05:14 +01:00
board-u5500.c mach-ux500: config Ux500 PL011 PL022 PL180 for DMA 2011-03-14 14:05:14 +01:00
clock.c mach-ux500: update MUSB clock configurations 2011-03-14 14:05:12 +01:00
clock.h ux500: add debugfs support for powerdebug 2010-12-20 13:32:45 +01:00
cpu-db5500.c mach-ux500: make PRCMU base address dynamic 2011-05-24 22:11:48 +02:00
cpu-db8500.c mfd: update DB8500 PRCMU driver 2011-05-24 22:18:57 +02:00
cpu.c mfd: add DB5500 PRCMU driver 2011-05-24 22:19:37 +02:00
devices-common.c plat-nomadik: support varying number of GPIOs per block 2011-03-14 14:05:14 +01:00
devices-common.h ARM: 6830/1: mach-ux500: force PrimeCell revisions 2011-05-26 10:33:35 +01:00
devices-db5500.h ARM: 6830/1: mach-ux500: force PrimeCell revisions 2011-05-26 10:33:35 +01:00
devices-db8500.c mach-ux500: config Ux500 PL011 PL022 PL180 for DMA 2011-03-14 14:05:14 +01:00
devices-db8500.h ARM: 6830/1: mach-ux500: force PrimeCell revisions 2011-05-26 10:33:35 +01:00
devices.c ux500: rework device registration 2010-12-08 13:14:06 +01:00
dma-db5500.c mach-ux500: add MUSB to db5500 devices 2011-03-14 14:05:12 +01:00
headsmp.S ARM: 6539/1: ux500: remove unnecessary barrier from the secondary startup 2010-12-24 09:50:26 +00:00
hotplug.c ARM: CPU hotplug: remove bug checks in platform_cpu_die() 2010-12-20 15:09:10 +00:00
id.c ux500: dynamic SOC detection 2011-01-10 18:34:53 +01:00
Kconfig gpio: move Nomadik GPIO driver to drivers/gpio 2011-05-26 17:30:03 -06:00
localtimer.c ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime 2011-02-23 17:54:27 +00:00
Makefile mfd: update DB8500 PRCMU driver 2011-05-24 22:18:57 +02:00
Makefile.boot ARM: 5832/1: ARM: U8500 Makefile.boot 2009-11-28 10:22:52 +00:00
mbox-db5500.c treewide: Fix iomap resource size miscalculations 2011-04-10 17:01:04 +02:00
modem-irq-db5500.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
pins-db5500.h ARM: 6371/1: ux500: add DB5500 pins 2010-09-19 12:12:26 +01:00
pins-db8500.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-10-25 07:59:01 -07:00
platsmp.c ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
ste-dma40-db5500.h ARM: 6372/1: ux500: add DB5500 DMA event lines 2010-09-19 12:12:27 +01:00
ste-dma40-db8500.h ARM: 6418/1: ux500: rename DB8500 DMA event line macros 2010-10-04 19:46:07 +01:00
usb.c mach-ux500: add platform data for musb 2011-03-14 14:05:11 +01:00