summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/ftrace.h
diff options
context:
space:
mode:
authorAKASHI Takahiro <takahiro.akashi@linaro.org>2014-04-30 09:54:35 (GMT)
committerWill Deacon <will.deacon@arm.com>2014-05-29 08:08:33 (GMT)
commit3711784ece66d39352a0dbb6da40e097a77da057 (patch)
tree274c2bf173272a72bf510207797eb0d72da18cec /arch/arm64/include/asm/ftrace.h
parentbd7d38dbdf356e75eb3b1699158c9b8021fd6784 (diff)
downloadlinux-3711784ece66d39352a0dbb6da40e097a77da057.tar.xz
arm64: ftrace: Add CALLER_ADDRx macros
CALLER_ADDRx returns caller's address at specified level in call stacks. They are used for several tracers like irqsoff and preemptoff. Strange to say, however, they are refered even without FTRACE. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/ftrace.h')
-rw-r--r--arch/arm64/include/asm/ftrace.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/ftrace.h b/arch/arm64/include/asm/ftrace.h
index ed5c448..41e8670 100644
--- a/arch/arm64/include/asm/ftrace.h
+++ b/arch/arm64/include/asm/ftrace.h
@@ -18,6 +18,7 @@
#ifndef __ASSEMBLY__
extern void _mcount(unsigned long);
+extern void *return_address(unsigned int);
struct dyn_arch_ftrace {
/* No extra data needed for arm64 */
@@ -33,6 +34,8 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
*/
return addr;
}
-#endif /* __ASSEMBLY__ */
+
+#define ftrace_return_address(n) return_address(n)
+#endif /* ifndef __ASSEMBLY__ */
#endif /* __ASM_FTRACE_H */