summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-exynos
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-06-11 11:14:50 -0700
committerTom Rini <trini@ti.com>2013-06-26 10:18:56 -0400
commitca35a0cdf26ff25b4128822ad2554ebd03eb2d42 (patch)
tree2c2dfa844af693a7c74f23234cfae7c70859cbcb /arch/arm/include/asm/arch-exynos
parentbce1b92aa11fc7dadae19452e9ff84c33a4b0c9a (diff)
downloadu-boot-imx-ca35a0cdf26ff25b4128822ad2554ebd03eb2d42.zip
u-boot-imx-ca35a0cdf26ff25b4128822ad2554ebd03eb2d42.tar.gz
u-boot-imx-ca35a0cdf26ff25b4128822ad2554ebd03eb2d42.tar.bz2
exynos: Avoid function instrumentation for microsecond timer
For tracing to work it has to be able to access the microsecond timer without causing a recursive call to the function entry/exit handlers. Add attributes to the relevant functions to support this. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm/include/asm/arch-exynos')
-rw-r--r--arch/arm/include/asm/arch-exynos/cpu.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/include/asm/arch-exynos/cpu.h b/arch/arm/include/asm/arch-exynos/cpu.h
index 36b98c8..1ff7642 100644
--- a/arch/arm/include/asm/arch-exynos/cpu.h
+++ b/arch/arm/include/asm/arch-exynos/cpu.h
@@ -178,7 +178,7 @@ static inline char *s5p_get_cpu_name(void)
}
#define IS_SAMSUNG_TYPE(type, id) \
-static inline int cpu_is_##type(void) \
+static inline int __attribute__((no_instrument_function)) cpu_is_##type(void) \
{ \
return (s5p_cpu_id >> 12) == id; \
}
@@ -187,7 +187,8 @@ IS_SAMSUNG_TYPE(exynos4, 0x4)
IS_SAMSUNG_TYPE(exynos5, 0x5)
#define IS_EXYNOS_TYPE(type, id) \
-static inline int proid_is_##type(void) \
+static inline int __attribute__((no_instrument_function)) \
+ proid_is_##type(void) \
{ \
return s5p_cpu_id == id; \
}
@@ -197,9 +198,10 @@ IS_EXYNOS_TYPE(exynos4412, 0x4412)
IS_EXYNOS_TYPE(exynos5250, 0x5250)
#define SAMSUNG_BASE(device, base) \
-static inline unsigned int samsung_get_base_##device(void) \
+static inline unsigned int __attribute__((no_instrument_function)) \
+ samsung_get_base_##device(void) \
{ \
- if (cpu_is_exynos4()) { \
+ if (cpu_is_exynos4()) { \
if (proid_is_exynos4412()) \
return EXYNOS4X12_##base; \
return EXYNOS4_##base; \