• Mark Rutland's avatar
    ftrace: arm64: remove static ftrace · cfce092d
    Mark Rutland authored
    The build test robot pointer out that there's a build failure when:
    
      CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
      CONFIG_DYNAMIC_FTRACE_WITH_ARGS=n
    
    ... due to some mismatched ifdeffery, some of which checks
    CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS, and some of which checks
    CONFIG_DYNAMIC_FTRACE_WITH_ARGS, leading to some missing definitions expected
    by the core code when CONFIG_DYNAMIC_FTRACE=n and consequently
    CONFIG_DYNAMIC_FTRACE_WITH_ARGS=n.
    
    There's really not much point in supporting CONFIG_DYNAMIC_FTRACE=n (AKA
    static ftrace). All supported toolchains allow us to implement
    DYNAMIC_FTRACE, distributions all prefer DYNAMIC_FTRACE, and both
    powerpc and s390 removed support for static ftrace in commits:
    
      0c0c5230 ("powerpc: Only support DYNAMIC_FTRACE not static")
      5d6a0163 ("s390/ftrace: enforce DYNAMIC_FTRACE if FUNCTION_TRACER is selected")
    
    ... and according to Steven, static ftrace is only supported on x86 to
    allow testing that the core code still functions in this configuration.
    
    Given that, let's simplify matters by removing arm64's support for
    static ftrace. This avoids the problem originally reported, and leaves
    us with less code to maintain.
    
    Fixes: 26299b3f ("ftrace: arm64: move from REGS to ARGS")
    Link: https://lore.kernel.org/r/202211212249.livTPi3Y-lkp@intel.comSuggested-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    Link: https://lore.kernel.org/r/20221122163624.1225912-1-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
    cfce092d
ftrace.c 8.88 KB