powerpc/ftrace: Refactor ftrace_{en/dis}able_ftrace_graph_caller
ftrace_enable_ftrace_graph_caller() and ftrace_disable_ftrace_graph_caller() have common code. They will have even more common code after following patch. Refactor into a single ftrace_modify_ftrace_graph_caller() function. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/f37785a531f1a8f201e1b3da45997a5c77e9d820.1640017960.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
40b035efe2
commit
0c81ed5ed4
|
@ -910,30 +910,27 @@ int __init ftrace_dyn_arch_init(void)
|
|||
extern void ftrace_graph_call(void);
|
||||
extern void ftrace_graph_stub(void);
|
||||
|
||||
int ftrace_enable_ftrace_graph_caller(void)
|
||||
static int ftrace_modify_ftrace_graph_caller(bool enable)
|
||||
{
|
||||
unsigned long ip = (unsigned long)(&ftrace_graph_call);
|
||||
unsigned long addr = (unsigned long)(&ftrace_graph_caller);
|
||||
unsigned long stub = (unsigned long)(&ftrace_graph_stub);
|
||||
ppc_inst_t old, new;
|
||||
|
||||
old = ftrace_call_replace(ip, stub, 0);
|
||||
new = ftrace_call_replace(ip, addr, 0);
|
||||
old = ftrace_call_replace(ip, enable ? stub : addr, 0);
|
||||
new = ftrace_call_replace(ip, enable ? addr : stub, 0);
|
||||
|
||||
return ftrace_modify_code(ip, old, new);
|
||||
}
|
||||
|
||||
int ftrace_enable_ftrace_graph_caller(void)
|
||||
{
|
||||
return ftrace_modify_ftrace_graph_caller(true);
|
||||
}
|
||||
|
||||
int ftrace_disable_ftrace_graph_caller(void)
|
||||
{
|
||||
unsigned long ip = (unsigned long)(&ftrace_graph_call);
|
||||
unsigned long addr = (unsigned long)(&ftrace_graph_caller);
|
||||
unsigned long stub = (unsigned long)(&ftrace_graph_stub);
|
||||
ppc_inst_t old, new;
|
||||
|
||||
old = ftrace_call_replace(ip, addr, 0);
|
||||
new = ftrace_call_replace(ip, stub, 0);
|
||||
|
||||
return ftrace_modify_code(ip, old, new);
|
||||
return ftrace_modify_ftrace_graph_caller(false);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue