• Christophe Leroy's avatar
    powerpc/cpm1: fix compilation error with CONFIG_PPC_EARLY_DEBUG_CPM · 6bd6d867
    Christophe Leroy authored
    commit e8cb7a55 ("powerpc: remove superflous inclusions of
    asm/fixmap.h") removed inclusion of asm/fixmap.h from files not
    including objects from that file.
    
    However, asm/mmu-8xx.h includes  call to __fix_to_virt(). The proper
    way would be to include asm/fixmap.h in asm/mmu-8xx.h but it creates
    an inclusion loop.
    
    So we have to leave asm/fixmap.h in sysdep/cpm_common.c for
    CONFIG_PPC_EARLY_DEBUG_CPM
    
      CC      arch/powerpc/sysdev/cpm_common.o
    In file included from ./arch/powerpc/include/asm/mmu.h:340:0,
                     from ./arch/powerpc/include/asm/reg_8xx.h:8,
                     from ./arch/powerpc/include/asm/reg.h:29,
                     from ./arch/powerpc/include/asm/processor.h:13,
                     from ./arch/powerpc/include/asm/thread_info.h:28,
                     from ./include/linux/thread_info.h:38,
                     from ./arch/powerpc/include/asm/ptrace.h:159,
                     from ./arch/powerpc/include/asm/hw_irq.h:12,
                     from ./arch/powerpc/include/asm/irqflags.h:12,
                     from ./include/linux/irqflags.h:16,
                     from ./include/asm-generic/cmpxchg-local.h:6,
                     from ./arch/powerpc/include/asm/cmpxchg.h:537,
                     from ./arch/powerpc/include/asm/atomic.h:11,
                     from ./include/linux/atomic.h:5,
                     from ./include/linux/mutex.h:18,
                     from ./include/linux/kernfs.h:13,
                     from ./include/linux/sysfs.h:16,
                     from ./include/linux/kobject.h:20,
                     from ./include/linux/device.h:16,
                     from ./include/linux/node.h:18,
                     from ./include/linux/cpu.h:17,
                     from ./include/linux/of_device.h:5,
                     from arch/powerpc/sysdev/cpm_common.c:21:
    arch/powerpc/sysdev/cpm_common.c: In function ‘udbg_init_cpm’:
    ./arch/powerpc/include/asm/mmu-8xx.h:218:25: error: implicit declaration of function ‘__fix_to_virt’ [-Werror=implicit-function-declaration]
     #define VIRT_IMMR_BASE (__fix_to_virt(FIX_IMMR_BASE))
                             ^
    arch/powerpc/sysdev/cpm_common.c:75:7: note: in expansion of macro ‘VIRT_IMMR_BASE’
           VIRT_IMMR_BASE);
           ^
    ./arch/powerpc/include/asm/mmu-8xx.h:218:39: error: ‘FIX_IMMR_BASE’ undeclared (first use in this function)
     #define VIRT_IMMR_BASE (__fix_to_virt(FIX_IMMR_BASE))
                                           ^
    arch/powerpc/sysdev/cpm_common.c:75:7: note: in expansion of macro ‘VIRT_IMMR_BASE’
           VIRT_IMMR_BASE);
           ^
    ./arch/powerpc/include/asm/mmu-8xx.h:218:39: note: each undeclared identifier is reported only once for each function it appears in
     #define VIRT_IMMR_BASE (__fix_to_virt(FIX_IMMR_BASE))
                                           ^
    arch/powerpc/sysdev/cpm_common.c:75:7: note: in expansion of macro ‘VIRT_IMMR_BASE’
           VIRT_IMMR_BASE);
           ^
    cc1: all warnings being treated as errors
    make[1]: *** [arch/powerpc/sysdev/cpm_common.o] Error 1
    
    Fixes: e8cb7a55 ("powerpc: remove superflous inclusions of asm/fixmap.h")
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    6bd6d867
cpm_common.c 5.29 KB