summaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2013-03-14 08:48:06 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-03-15 18:18:52 +0100
commit3b4af9bc24472a9411837ad0794312028df1fbd9 (patch)
tree083cc2f00a97eae2ec968eeebb561b72e21aa5bc /arch/arm/include
parentARM: 7671/1: use Kconfig to select uncompress.h (diff)
downloadlinux-3b4af9bc24472a9411837ad0794312028df1fbd9.tar.xz
linux-3b4af9bc24472a9411837ad0794312028df1fbd9.zip
ARM: 7672/1: uncompress debug support for multiplatform build
Instead of giving zero support of uncompress debug for multiplatform build, the patch turns uncompress debug into one part of DEBUG_LL support. When DEBUG_LL is turned on for a particular platform, uncompress debug works too for that platform. OMAP and Tegra are exceptions here. OMAP low-level debug code places data in the .data section, and that is not allowed in decompressor. And Tegra code has reference to variable that's unavailable in decompressor but only in kernel. That's why Kconfig symbol DEBUG_UNCOMPRESS controlling multiplatform uncompress debug support is defined with !DEBUG_OMAP2PLUS_UART && !DEBUG_TEGRA_UART. It creates arch/arm/boot/compressed/debug.S with CONFIG_DEBUG_LL_INCLUDE included there, implements a generic putc() using those macros, which will be built when DEBUG_UNCOMPRESS is defined. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/debug/uncompress.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/include/debug/uncompress.h b/arch/arm/include/debug/uncompress.h
index e19955d9e02e..0e2949b0fae9 100644
--- a/arch/arm/include/debug/uncompress.h
+++ b/arch/arm/include/debug/uncompress.h
@@ -1,3 +1,7 @@
+#ifdef CONFIG_DEBUG_UNCOMPRESS
+extern void putc(int c);
+#else
static inline void putc(int c) {}
+#endif
static inline void flush(void) {}
static inline void arch_decomp_setup(void) {}