Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
[sfrench/cifs-2.6.git] / arch / powerpc / platforms / 86xx / mpc86xx_smp.c
index 167f0401a1c57f1144b8419cdfd669f48b6d58ab..bb7fb41933ad8abe557ae857ceaaf5b8d3f22d53 100644 (file)
@@ -33,8 +33,8 @@ extern unsigned long __secondary_hold_acknowledge;
 static void __init
 smp_86xx_release_core(int nr)
 {
-       void *mcm_vaddr;
-       unsigned long vaddr, pcr;
+       __be32 __iomem *mcm_vaddr;
+       unsigned long pcr;
 
        if (nr < 0 || nr >= NR_CPUS)
                return;
@@ -44,10 +44,9 @@ smp_86xx_release_core(int nr)
         */
        mcm_vaddr = ioremap(get_immrbase() + MPC86xx_MCM_OFFSET,
                            MPC86xx_MCM_SIZE);
-       vaddr = (unsigned long)mcm_vaddr +  MCM_PORT_CONFIG_OFFSET;
-       pcr = in_be32((volatile unsigned *)vaddr);
+       pcr = in_be32(mcm_vaddr + (MCM_PORT_CONFIG_OFFSET >> 2));
        pcr |= 1 << (nr + 24);
-       out_be32((volatile unsigned *)vaddr, pcr);
+       out_be32(mcm_vaddr + (MCM_PORT_CONFIG_OFFSET >> 2), pcr);
 }