[PATCH 31/50] ARM: omap: Only provide PUTC_LL() when activated
Sascha Hauer
s.hauer at pengutronix.de
Fri Mar 3 01:21:12 PST 2023
With multi-arch support we must make sure we provide exactly one
PUTC_LL() function as indicated by the "Kernel low-level debugging port"
Kconfig choice. Make sure that the omap specific debug_ll.h only
provides PUTC_LL() when specified.
The omap specific debug_ll.h also provides other functions needed
by board code regardless if the omap debug_ll port is enabled or
not, so include it explicitly where needed.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
arch/arm/boards/afi-gf/lowlevel.c | 1 +
arch/arm/boards/beagle/lowlevel.c | 1 +
arch/arm/boards/beaglebone/lowlevel.c | 1 +
arch/arm/boards/myirtech-x335x/lowlevel.c | 1 +
arch/arm/boards/phytec-som-am335x/lowlevel.c | 1 +
arch/arm/boards/vscom-baltos/lowlevel.c | 1 +
arch/arm/boards/wago-pfc-am35xx/lowlevel.c | 1 +
arch/arm/include/asm/debug_ll.h | 6 ++++--
common/Kconfig | 6 ++++++
include/mach/omap/debug_ll.h | 2 +-
10 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boards/afi-gf/lowlevel.c b/arch/arm/boards/afi-gf/lowlevel.c
index d1c8e98434..5c38198a36 100644
--- a/arch/arm/boards/afi-gf/lowlevel.c
+++ b/arch/arm/boards/afi-gf/lowlevel.c
@@ -17,6 +17,7 @@
#include <mach/omap/syslib.h>
#include <mach/omap/am33xx-mux.h>
#include <debug_ll.h>
+#include <mach/omap/debug_ll.h>
/* AM335X EMIF Register values */
#define VTP_CTRL_READY (0x1 << 5)
diff --git a/arch/arm/boards/beagle/lowlevel.c b/arch/arm/boards/beagle/lowlevel.c
index bd944c4f67..e53086cef0 100644
--- a/arch/arm/boards/beagle/lowlevel.c
+++ b/arch/arm/boards/beagle/lowlevel.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
#include <init.h>
+#include <mach/omap/debug_ll.h>
#include <debug_ll.h>
#include <io.h>
#include <linux/sizes.h>
diff --git a/arch/arm/boards/beaglebone/lowlevel.c b/arch/arm/boards/beaglebone/lowlevel.c
index b1ba66434b..5dc49dfaaf 100644
--- a/arch/arm/boards/beaglebone/lowlevel.c
+++ b/arch/arm/boards/beaglebone/lowlevel.c
@@ -5,6 +5,7 @@
#include <io.h>
#include <linux/string.h>
#include <debug_ll.h>
+#include <mach/omap/debug_ll.h>
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/omap/am33xx-silicon.h>
diff --git a/arch/arm/boards/myirtech-x335x/lowlevel.c b/arch/arm/boards/myirtech-x335x/lowlevel.c
index eb42182098..0ac2370e57 100644
--- a/arch/arm/boards/myirtech-x335x/lowlevel.c
+++ b/arch/arm/boards/myirtech-x335x/lowlevel.c
@@ -6,6 +6,7 @@
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <debug_ll.h>
+#include <mach/omap/debug_ll.h>
#include <init.h>
#include <linux/sizes.h>
#include <mach/omap/am33xx-clock.h>
diff --git a/arch/arm/boards/phytec-som-am335x/lowlevel.c b/arch/arm/boards/phytec-som-am335x/lowlevel.c
index 2e2bdc9169..267f30b638 100644
--- a/arch/arm/boards/phytec-som-am335x/lowlevel.c
+++ b/arch/arm/boards/phytec-som-am335x/lowlevel.c
@@ -16,6 +16,7 @@
#include <mach/omap/am33xx-mux.h>
#include <mach/omap/am33xx-generic.h>
#include <debug_ll.h>
+#include <mach/omap/debug_ll.h>
#include "ram-timings.h"
diff --git a/arch/arm/boards/vscom-baltos/lowlevel.c b/arch/arm/boards/vscom-baltos/lowlevel.c
index 80046a3b05..aee0cde651 100644
--- a/arch/arm/boards/vscom-baltos/lowlevel.c
+++ b/arch/arm/boards/vscom-baltos/lowlevel.c
@@ -6,6 +6,7 @@
#include <io.h>
#include <linux/string.h>
#include <debug_ll.h>
+#include <mach/omap/debug_ll.h>
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/omap/am33xx-silicon.h>
diff --git a/arch/arm/boards/wago-pfc-am35xx/lowlevel.c b/arch/arm/boards/wago-pfc-am35xx/lowlevel.c
index cff6bfbfeb..5429065c2d 100644
--- a/arch/arm/boards/wago-pfc-am35xx/lowlevel.c
+++ b/arch/arm/boards/wago-pfc-am35xx/lowlevel.c
@@ -10,6 +10,7 @@
#include <io.h>
#include <linux/string.h>
#include <debug_ll.h>
+#include <mach/omap/debug_ll.h>
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/omap/generic.h>
diff --git a/arch/arm/include/asm/debug_ll.h b/arch/arm/include/asm/debug_ll.h
index 52e0b9223f..7c1152c6d9 100644
--- a/arch/arm/include/asm/debug_ll.h
+++ b/arch/arm/include/asm/debug_ll.h
@@ -11,6 +11,10 @@
#include <mach/rockchip/debug_ll.h>
#endif
+#ifdef CONFIG_DEBUG_OMAP_UART
+#include <mach/omap/debug_ll.h>
+#endif
+
#ifdef CONFIG_DEBUG_QEMU_ARM64_VIRT
#define DEBUG_LL_UART_ADDR 0x9000000
#include <debug_ll/pl011.h>
@@ -40,8 +44,6 @@
#include <mach/socfpga/debug_ll.h>
#elif defined CONFIG_ARCH_PXA
#include <mach/pxa/debug_ll.h>
-#elif defined CONFIG_ARCH_OMAP
-#include <mach/omap/debug_ll.h>
#elif defined CONFIG_ARCH_NOMADIK
#include <mach/nomadik/debug_ll.h>
#elif defined CONFIG_ARCH_MXS
diff --git a/common/Kconfig b/common/Kconfig
index 25f78cca46..eeb33f3042 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -1255,6 +1255,9 @@ config DEBUG_IMX_UART
config DEBUG_ROCKCHIP_UART
bool
+config DEBUG_OMAP_UART
+ bool
+
choice
prompt "Kernel low-level debugging port"
depends on DEBUG_LL
@@ -1365,6 +1368,7 @@ config DEBUG_VF610_UART
config DEBUG_OMAP3_UART
bool "OMAP3 Debug UART"
depends on ARCH_OMAP3
+ select DEBUG_OMAP_UART
help
Say Y here if you want kernel low-level debugging support
on OMAP3.
@@ -1372,6 +1376,7 @@ config DEBUG_OMAP3_UART
config DEBUG_OMAP4_UART
bool "OMAP4 Debug UART"
depends on ARCH_OMAP4
+ select DEBUG_OMAP_UART
help
Say Y here if you want kernel low-level debugging support
on OMAP4.
@@ -1379,6 +1384,7 @@ config DEBUG_OMAP4_UART
config DEBUG_AM33XX_UART
bool "AM33XX Debug UART"
depends on ARCH_AM33XX
+ select DEBUG_OMAP_UART
help
Say Y here if you want kernel low-level debugging support
on AM33XX.
diff --git a/include/mach/omap/debug_ll.h b/include/mach/omap/debug_ll.h
index b696c3cb37..a6cd9a77c4 100644
--- a/include/mach/omap/debug_ll.h
+++ b/include/mach/omap/debug_ll.h
@@ -22,7 +22,7 @@
#include <mach/omap/omap4-silicon.h>
#include <mach/omap/am33xx-silicon.h>
-#ifdef CONFIG_DEBUG_LL
+#ifdef CONFIG_DEBUG_OMAP_UART
#ifdef CONFIG_DEBUG_OMAP3_UART
#define OMAP_DEBUG_SOC OMAP3
--
2.30.2
More information about the barebox
mailing list