• Jordan Niethe's avatar
    powerpc: Always inline radix_enabled() to fix build failure · 27fd1111
    Jordan Niethe authored
    This is the same as commit acdad8fb ("powerpc: Force inlining of
    mmu_has_feature to fix build failure") but for radix_enabled().  The
    config in the linked bugzilla causes the following build failure:
    
      LD      .tmp_vmlinux.kallsyms1
      powerpc64-linux-ld: arch/powerpc/mm/pgtable.o: in function `.__ptep_set_access_flags':
      pgtable.c:(.text+0x17c): undefined reference to `.radix__ptep_set_access_flags'
      powerpc64-linux-ld: arch/powerpc/mm/pageattr.o: in function `.change_page_attr':
      pageattr.c:(.text+0xc0): undefined reference to `.radix__flush_tlb_kernel_range'
      etc.
    
    This is due to radix_enabled() not being inlined. See extract from
    building with -Winline:
    
      In file included from arch/powerpc/include/asm/lppaca.h:46,
                       from arch/powerpc/include/asm/paca.h:17,
                       from arch/powerpc/include/asm/current.h:13,
                       from include/linux/thread_info.h:23,
                       from include/asm-generic/preempt.h:5,
                       from ./arch/powerpc/include/generated/asm/preempt.h:1,
                       from include/linux/preempt.h:78,
                       from include/linux/spinlock.h:51,
                       from include/linux/mmzone.h:8,
                       from include/linux/gfp.h:6,
                       from arch/powerpc/mm/pgtable.c:21:
      arch/powerpc/include/asm/book3s/64/pgtable.h: In function '__ptep_set_access_flags':
      arch/powerpc/include/asm/mmu.h:327:20: error: inlining failed in call to 'radix_enabled': call is unlikely and code size would grow [-Werror=inline]
    
    The code relies on constant folding of MMU_FTRS_POSSIBLE at buildtime
    and elimination of non possible parts of code at compile time. For this
    to work radix_enabled() must be inlined so make it __always_inline.
    Reported-by: default avatarErhard F. <erhard_f@mailbox.org>
    Suggested-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Tested-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Signed-off-by: default avatarJordan Niethe <jniethe5@gmail.com>
    [mpe: Trimmed error messages in change log]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=213803
    Link: https://lore.kernel.org/r/20210804013724.514468-1-jniethe5@gmail.com
    27fd1111
mmu.h 10.9 KB