OSDN Git Service

powerpc/8xx: use the fixmapped IMMR in cpm_reset()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 12 Sep 2019 13:29:07 +0000 (13:29 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 19 Nov 2019 08:38:35 +0000 (19:38 +1100)
Since commit f86ef74ed919 ("powerpc/8xx: Fix vaddr for IMMR early
remap"), the IMMR area has been mapped at startup with fixmap.

Use that fixmap directly instead of calling ioremap(), this
avoids calling ioremap() early before the slab is available.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/f816ccdbd15b97cf43c5a8c7cc8dfa8db58ff036.1568294935.git.christophe.leroy@c-s.fr
arch/powerpc/platforms/8xx/cpm1.c

index 81a1a2e..a43ee7d 100644 (file)
@@ -51,7 +51,7 @@
 #define CPM_MAP_SIZE    (0x4000)
 
 cpm8xx_t __iomem *cpmp;  /* Pointer to comm processor space */
-immap_t __iomem *mpc8xx_immr;
+immap_t __iomem *mpc8xx_immr = (void __iomem *)VIRT_IMMR_BASE;
 static cpic8xx_t __iomem *cpic_reg;
 
 static struct irq_domain *cpm_pic_host;
@@ -201,12 +201,6 @@ void __init cpm_reset(void)
 {
        sysconf8xx_t __iomem *siu_conf;
 
-       mpc8xx_immr = ioremap(get_immrbase(), 0x4000);
-       if (!mpc8xx_immr) {
-               printk(KERN_CRIT "Could not map IMMR\n");
-               return;
-       }
-
        cpmp = &mpc8xx_immr->im_cpm;
 
 #ifndef CONFIG_PPC_EARLY_DEBUG_CPM