1
linux/arch/arm
KAMEZAWA Hiroyuki 76b67ed9dc [PATCH] node hotplug: register cpu: remove node struct
With Goto-san's patch, we can add new pgdat/node at runtime.  I'm now
considering node-hot-add with cpu + memory on ACPI.

I found acpi container, which describes node, could evaluate cpu before
memory. This means cpu-hot-add occurs before memory hot add.

In most part, cpu-hot-add doesn't depend on node hot add.  But register_cpu(),
which creates symbolic link from node to cpu, requires that node should be
onlined before register_cpu().  When a node is onlined, its pgdat should be
there.

This patch-set holds off creating symbolic link from node to cpu
until node is onlined.

This removes node arguments from register_cpu().

Now, register_cpu() requires 'struct node' as its argument.  But the array of
struct node is now unified in driver/base/node.c now (By Goto's node hotplug
patch).  We can get struct node in generic way.  So, this argument is not
necessary now.

This patch also guarantees add cpu under node only when node is onlined.  It
is necessary for node-hot-add vs.  cpu-hot-add patch following this.

Moreover, register_cpu calculates cpu->node_id by cpu_to_node() without regard
to its 'struct node *root' argument.  This patch removes it.

Also modify callers of register_cpu()/unregister_cpu, whose args are changed
by register-cpu-remove-node-struct patch.

[Brice.Goglin@ens-lyon.org: fix it]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-27 17:32:37 -07:00
..
boot [ARM] 3654/1: add ajeco 1arm sbc support 2006-06-26 17:48:29 +01:00
common [PATCH] backlight: LOCOMO Backlight Driver updates 2006-06-26 09:58:28 -07:00
configs [ARM] 3654/1: add ajeco 1arm sbc support 2006-06-26 17:48:29 +01:00
kernel [PATCH] node hotplug: register cpu: remove node struct 2006-06-27 17:32:37 -07:00
lib [ARM] Remove save_lr/restore_pc macros 2006-06-25 11:37:09 +01:00
mach-aaec2000 [ARM] 3507/1: Replace map_desc.physical with map_desc.pfn: aaed2000 2006-05-07 22:49:24 +01:00
mach-at91rm9200 [ARM] 3654/1: add ajeco 1arm sbc support 2006-06-26 17:48:29 +01:00
mach-clps711x [ARM] 3304/1: Add help descriptions to ARCH config items that don't have one 2006-02-08 21:09:05 +00:00
mach-clps7500 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ebsa110 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ep93xx [ARM] 3646/1: ep93xx: instantiate ep93xx-ohci platform device 2006-06-24 10:33:03 +01:00
mach-footbridge [PATCH] RTC: Remove RTC UIP synchronization on ARM 2006-03-28 09:16:00 -08:00
mach-h720x [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-imx [ARM] 3601/1: i.MX/MX1 DMA error handling for signaled channels only 2006-06-22 22:21:03 +01:00
mach-integrator [ARM] Fix Integrator and Versatile interrupt initialisation 2006-06-10 12:42:12 +01:00
mach-iop3xx [ARM] 3391/1: use PLAT8250_DEV_PLATFORM{,1} for platform device id instead of 0/1 2006-03-23 12:59:08 +00:00
mach-ixp4xx Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-26 15:01:05 -07:00
mach-ixp23xx [ARM] 3620/2: ixp23xx: add uengine loader support 2006-06-22 10:30:56 +01:00
mach-ixp2000 [ARM] 3644/1: ixp2000: export gpio_line_config() 2006-06-24 10:34:29 +01:00
mach-l7200 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-lh7a40x [ARM] 3405/1: lpd7a40x: CPLD ssp driver 2006-06-18 16:16:49 +01:00
mach-netx [ARM] Include asm/hardware.h not asm/arch/hardware.h 2006-06-20 19:53:16 +01:00
mach-omap1 [PATCH] leds: Amstrad Delta LED support 2006-06-23 07:43:05 -07:00
mach-omap2 [ARM] 3460/1: ARM: OMAP: Remove unnecessary nop_release() 2006-04-09 22:21:02 +01:00
mach-pnx4008 [ARM] 3623/1: pnx4008: move GPIO-related defines to gpio.h 2006-06-22 10:26:21 +01:00
mach-pxa [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
mach-realview [ARM] 3527/1: MPCore Boot Lockup Fix 2006-05-16 16:50:21 +01:00
mach-rpc [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-s3c2410 [ARM] 3649/1: S3C24XX: Fix capitalisation of CPU on SMDK2440 2006-06-26 15:12:56 +01:00
mach-sa1100 [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
mach-shark [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-versatile [ARM] Fix Integrator and Versatile interrupt initialisation 2006-06-10 12:42:12 +01:00
mm [ARM] Remove partial non-v6 binutils compatibility 2006-06-25 11:31:22 +01:00
nwfpe [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
oprofile [ARM] Use kcalloc to allocate counter_config array rather than kmalloc 2006-03-21 23:30:02 +00:00
plat-omap [ARM] 3616/1: fix timer handler wrap logic for a number of platforms 2006-06-22 10:30:53 +01:00
tools [ARM] Update mach-types 2006-06-26 22:50:21 +01:00
vfp [ARM] Enable VFP to be built when non-VFP capable CPUs are selected 2006-06-22 10:24:24 +01:00
Kconfig [ARM] 3651/1: S3C24XX: Make arch list more detailed 2006-06-26 15:12:58 +01:00
Kconfig-nommu [ARM] nommu: fixups for the exception vectors 2006-03-27 15:18:50 +01:00
Kconfig.debug [ARM] Trivial typo fixes 2006-06-04 21:22:11 +01:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2006-06-26 11:05:15 -07:00