]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/kernel/ftrace.c
Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[karo-tx-linux.git] / arch / x86 / kernel / ftrace.c
index 4243e8bbdcb1b9f836f0a2927f2403ded6417019..32ff36596ab10d65d8d5050402eb8d24a5f3fb6f 100644 (file)
@@ -435,7 +435,7 @@ static void run_sync(void)
                local_irq_disable();
 }
 
-static void ftrace_replace_code(int enable)
+void ftrace_replace_code(int enable)
 {
        struct ftrace_rec_iter *iter;
        struct dyn_ftrace *rec;
@@ -493,18 +493,7 @@ void arch_ftrace_update_code(int command)
 {
        modifying_ftrace_code++;
 
-       if (command & FTRACE_UPDATE_CALLS)
-               ftrace_replace_code(1);
-       else if (command & FTRACE_DISABLE_CALLS)
-               ftrace_replace_code(0);
-
-       if (command & FTRACE_UPDATE_TRACE_FUNC)
-               ftrace_update_ftrace_func(ftrace_trace_function);
-
-       if (command & FTRACE_START_FUNC_RET)
-               ftrace_enable_ftrace_graph_caller();
-       else if (command & FTRACE_STOP_FUNC_RET)
-               ftrace_disable_ftrace_graph_caller();
+       ftrace_modify_all_code(command);
 
        modifying_ftrace_code--;
 }