summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/86xx/mpc86xx_smp.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2009-04-22 21:32:09 +0400
committerKumar Gala <galak@kernel.crashing.org>2009-05-19 09:50:20 +0400
commit1e76dff22ce45bc8b869a9956b24a77877915364 (patch)
treedacce8c8a1da64a2d84f3eac1d4006cab65118e6 /arch/powerpc/platforms/86xx/mpc86xx_smp.c
parentca851c783ccf9784fb6ffebcb25e2b6fd0b8dccc (diff)
downloadlinux-1e76dff22ce45bc8b869a9956b24a77877915364.tar.xz
powerpc/86xx: clean up smp init code
Removed the need for asm/mpc86xx.h as it was only used in mpc86xx_smp.c and just moved the defines it cared about into there. Also fixed up the ioremap to only map the one 4k page we need access to and to iounmap when we are done. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/86xx/mpc86xx_smp.c')
-rw-r--r--arch/powerpc/platforms/86xx/mpc86xx_smp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_smp.c b/arch/powerpc/platforms/86xx/mpc86xx_smp.c
index 014e26cda08d..d84bbb508ee7 100644
--- a/arch/powerpc/platforms/86xx/mpc86xx_smp.c
+++ b/arch/powerpc/platforms/86xx/mpc86xx_smp.c
@@ -20,7 +20,6 @@
#include <asm/pgtable.h>
#include <asm/pci-bridge.h>
#include <asm/mpic.h>
-#include <asm/mpc86xx.h>
#include <asm/cacheflush.h>
#include <sysdev/fsl_soc.h>
@@ -30,6 +29,11 @@
extern void __secondary_start_mpc86xx(void);
extern unsigned long __secondary_hold_acknowledge;
+#define MCM_PORT_CONFIG_OFFSET 0x10
+
+/* Offset from CCSRBAR */
+#define MPC86xx_MCM_OFFSET (0x1000)
+#define MPC86xx_MCM_SIZE (0x1000)
static void __init
smp_86xx_release_core(int nr)
@@ -48,6 +52,8 @@ smp_86xx_release_core(int nr)
pcr = in_be32(mcm_vaddr + (MCM_PORT_CONFIG_OFFSET >> 2));
pcr |= 1 << (nr + 24);
out_be32(mcm_vaddr + (MCM_PORT_CONFIG_OFFSET >> 2), pcr);
+
+ iounmap(mcm_vaddr);
}