ARM: highbank: convert logical CPU numbers to physical numbers
authorWill Deacon <will.deacon@arm.com>
Mon, 6 Jun 2011 11:35:46 +0000 (12:35 +0100)
committerWill Deacon <will.deacon@arm.com>
Wed, 16 Nov 2011 10:56:53 +0000 (10:56 +0000)
This patch uses the new cpu_logical_map() macro for converting logical
CPU numbers into physical numbers when releasing CPUs during the SMP
boot and CPU hotplug paths.

Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/mach-highbank/highbank.c

index b82dcf08e747e1052ea13b4a11feef25b7f7775b..88660d500f5be259bde8bd94389805881cf8975e 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
 #include <linux/of_address.h>
+#include <linux/smp.h>
 
 #include <asm/cacheflush.h>
 #include <asm/unified.h>
@@ -72,6 +73,9 @@ static void __init highbank_map_io(void)
 
 void highbank_set_cpu_jump(int cpu, void *jump_addr)
 {
+#ifdef CONFIG_SMP
+       cpu = cpu_logical_map(cpu);
+#endif
        writel(BSYM(virt_to_phys(jump_addr)), HB_JUMP_TABLE_VIRT(cpu));
        __cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
        outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),