lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 409/601] powerpc/prom: Mark identical_pvr_fixup as __init
    Date
    From: Nathan Chancellor <nathan@kernel.org>

    [ Upstream commit 1ef1dd9c7ed27b080445e1576e8a05957e0e4dfc ]

    If identical_pvr_fixup() is not inlined, there are two modpost warnings:

    WARNING: modpost: vmlinux.o(.text+0x54e8): Section mismatch in reference
    from the function identical_pvr_fixup() to the function
    .init.text:of_get_flat_dt_prop()
    The function identical_pvr_fixup() references
    the function __init of_get_flat_dt_prop().
    This is often because identical_pvr_fixup lacks a __init
    annotation or the annotation of of_get_flat_dt_prop is wrong.

    WARNING: modpost: vmlinux.o(.text+0x551c): Section mismatch in reference
    from the function identical_pvr_fixup() to the function
    .init.text:identify_cpu()
    The function identical_pvr_fixup() references
    the function __init identify_cpu().
    This is often because identical_pvr_fixup lacks a __init
    annotation or the annotation of identify_cpu is wrong.

    identical_pvr_fixup() calls two functions marked as __init and is only
    called by a function marked as __init so it should be marked as __init
    as well. At the same time, remove the inline keywork as it is not
    necessary to inline this function. The compiler is still free to do so
    if it feels it is worthwhile since commit 889b3c1245de ("compiler:
    remove CONFIG_OPTIMIZE_INLINING entirely").

    Fixes: 14b3d926a22b ("[POWERPC] 4xx: update 440EP(x)/440GR(x) identical PVR issue workaround")
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://github.com/ClangBuiltLinux/linux/issues/1316
    Link: https://lore.kernel.org/r/20210302200829.2680663-1-nathan@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/powerpc/kernel/prom.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
    index ae3c41730367..a7ebaa208416 100644
    --- a/arch/powerpc/kernel/prom.c
    +++ b/arch/powerpc/kernel/prom.c
    @@ -267,7 +267,7 @@ static struct feature_property {
    };

    #if defined(CONFIG_44x) && defined(CONFIG_PPC_FPU)
    -static inline void identical_pvr_fixup(unsigned long node)
    +static __init void identical_pvr_fixup(unsigned long node)
    {
    unsigned int pvr;
    const char *model = of_get_flat_dt_prop(node, "model", NULL);
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 20:02    [W:4.043 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site