android_kernel_google_msm/arch/arm
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
..
boot ARM: 6886/1: mmc, Add zboot from eSD support for SuperH Mobile ARM 2011-06-29 10:00:52 +01:00
common Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-05-25 21:47:48 +01:00
configs Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-05-27 19:51:32 -07:00
include/asm ARM: 6988/1: multi-cpu: remove arguments from CPU proc macros 2011-07-06 20:49:45 +01:00
kernel ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
lib ARM: 6945/1: Add unwinding support for division functions 2011-05-27 22:56:53 +01:00
mach-at91 at91: drop at572d940hf support 2011-05-25 23:04:35 +08:00
mach-bcmring
mach-clps711x
mach-cns3xxx
mach-davinci Merge branch 'davinci-next' of git://gitorious.org/linux-davinci/linux-davinci into devel-stable 2011-05-25 00:11:25 +01:00
mach-dove
mach-ebsa110
mach-ep93xx
mach-exynos4 ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-footbridge
mach-gemini Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
mach-h720x
mach-imx
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood
mach-ks8695
mach-l7200/include/mach
mach-loki
mach-lpc32xx
mach-mmp
mach-msm ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-mv78xx0
mach-mx5
mach-mxs
mach-netx ARM: 6827/1: mach-netx: delete hardcoded periphid 2011-05-26 10:33:34 +01:00
mach-nomadik gpio: move Nomadik GPIO driver to drivers/gpio 2011-05-26 17:30:03 -06:00
mach-nuc93x
mach-omap1
mach-omap2 ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-orion5x
mach-pnx4008
mach-pxa Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
mach-realview ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c64xx Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-05-25 21:47:48 +01:00
mach-s3c2400
mach-s3c2410 Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
mach-s3c2412
mach-s3c2416 Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-05-23 12:33:02 -07:00
mach-s3c2440
mach-s3c2443
mach-s5p64x0
mach-s5pc100 gpio: Move the s5pc100 GPIO to drivers/gpio 2011-05-26 17:33:41 -06:00
mach-s5pv210 gpio: Move the s5pv210 GPIO to drivers/gpio 2011-05-26 17:33:37 -06:00
mach-sa1100
mach-shark
mach-shmobile ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-spear3xx
mach-spear6xx
mach-tcc8k
mach-tegra ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-u300 gpio: move U300 GPIO driver to drivers/gpio 2011-05-26 17:29:33 -06:00
mach-ux500 ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-versatile
mach-vexpress ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 2011-07-07 14:45:07 +01:00
mach-vt8500
mach-w90x900
mm Merge branches 'devel', 'devel-stable' and 'fixes' into for-linus 2011-05-27 22:59:57 +01:00
nwfpe
oprofile
plat-iop
plat-mxc Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-05-23 15:15:27 -07:00
plat-nomadik gpio/nomadik: add function to read GPIO pull down status 2011-05-26 17:30:18 -06:00
plat-omap Merge branch 'for_2.6.40/gpio-move' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into gpio/next 2011-05-27 23:52:58 -06:00
plat-orion
plat-pxa
plat-s3c24xx Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-05-23 12:33:02 -07:00
plat-s5p Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-05-25 21:47:48 +01:00
plat-samsung Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 2011-05-28 10:56:34 -07:00
plat-spear
plat-tcc
plat-versatile
tools
vfp
Kconfig ARM: 6960/1: allow enabling SCU code on UP 2011-07-06 20:55:15 +01:00
Kconfig-nommu
Kconfig.debug lib: consolidate DEBUG_STACK_USAGE option 2011-05-25 08:39:54 -07:00
Makefile Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-05-25 21:47:48 +01:00