[RFC] MIPS: XBurst: suitable solution for per-board debug_ll options

Antony Pavlov antonynpavlov at gmail.com
Thu May 24 09:50:20 EDT 2012


In the commit 40492a0c1305835c996e15eb1cce2406473ae76d
(MIPS: add common header file for DEBUG_LL via NS16550)
introduced common DEBUG_LL via NS16550 for MIPS
(see file arch/mips/include/debug_ll_ns16550.h).

In the commit 1cbe2b2c00de0efca503a983d0d008833f186f33
(MIPS: XBurst: add Ritmix RZX-50 board support)
the file debug_ll_ns16550.h used in
the file arch/mips/mach-xburst/include/mach/debug_ll.h.

Usage looks like this:

------------------------------------------------
+#ifdef CONFIG_BOARD_RZX50
+#include <mach/debug_ll_jz4755.h>
+#endif
+
+#include <debug_ll_ns16550.h>
------------------------------------------------

So after adding another board (e.g. A320) we will have something like this:

------------------------------------------------
 #ifdef CONFIG_BOARD_RZX50
 #include <mach/debug_ll_jz4755.h>
 #endif

+#ifdef CONFIG_BOARD_A320
+#include <mach/debug_ll_jz4740.h>
+#endif

 #include <debug_ll_ns16550.h>
------------------------------------------------

This approach has disadvantage:
* the files mach/debug_ll_jz4740.h and mach/debug_ll_jz4755.h
(they go to arch/mips/arch-xburst) are __BOARD-SPECIFIC__
(not SOC- or mach-specific!); The file mach-xburst/include/mach/debug_ll.h
is outside board directory, but it contain some board related information.

This commit introduce more suitable solution.

Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
 arch/mips/Makefile                                 |    2 ++
 arch/mips/boards/rzx50/include/board/debug_ll.h    |   29 ++++++++++++++++++++
 arch/mips/mach-xburst/include/mach/debug_ll.h      |    5 +---
 .../mach-xburst/include/mach/debug_ll_jz4755.h     |   29 --------------------
 4 files changed, 32 insertions(+), 33 deletions(-)
 create mode 100644 arch/mips/boards/rzx50/include/board/debug_ll.h
 delete mode 100644 arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h

diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index f28c21d..6b7dae9 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -96,6 +96,8 @@ else
 MACH  :=
 endif
 
+CPPFLAGS += -I$(BOARD)/include
+
 common-y += $(BOARD) $(MACH)
 common-y += arch/mips/lib/
 common-y += arch/mips/boot/
diff --git a/arch/mips/boards/rzx50/include/board/debug_ll.h b/arch/mips/boards/rzx50/include/board/debug_ll.h
new file mode 100644
index 0000000..babe296
--- /dev/null
+++ b/arch/mips/boards/rzx50/include/board/debug_ll.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2012 Antony Pavlov <antonynpavlov at gmail.com>
+ *
+ * This file is part of barebox.
+ * See file CREDITS for list of people who contributed to this project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __INCLUDE_DEBUG_LL_JZ4755_H__
+#define __INCLUDE_DEBUG_LL_JZ4755_H__
+
+#include <mach/jz4750d_regs.h>
+
+#define DEBUG_LL_UART_ADDR	UART1_BASE
+#define DEBUG_LL_UART_SHIFT	2
+
+#endif  /* __INCLUDE_DEBUG_LL_JZ4755_H__ */
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll.h b/arch/mips/mach-xburst/include/mach/debug_ll.h
index c3dbaa2..6e0cc93 100644
--- a/arch/mips/mach-xburst/include/mach/debug_ll.h
+++ b/arch/mips/mach-xburst/include/mach/debug_ll.h
@@ -24,10 +24,7 @@
 /** @file
  *  This File contains declaration for early output support
  */
-#ifdef CONFIG_BOARD_RZX50
-#include <mach/debug_ll_jz4755.h>
-#endif
-
+#include <board/debug_ll.h>
 #include <debug_ll_ns16550.h>
 
 #endif  /* __MACH_XBURST_DEBUG_LL__ */
diff --git a/arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h b/arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h
deleted file mode 100644
index babe296..0000000
--- a/arch/mips/mach-xburst/include/mach/debug_ll_jz4755.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2012 Antony Pavlov <antonynpavlov at gmail.com>
- *
- * This file is part of barebox.
- * See file CREDITS for list of people who contributed to this project.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef __INCLUDE_DEBUG_LL_JZ4755_H__
-#define __INCLUDE_DEBUG_LL_JZ4755_H__
-
-#include <mach/jz4750d_regs.h>
-
-#define DEBUG_LL_UART_ADDR	UART1_BASE
-#define DEBUG_LL_UART_SHIFT	2
-
-#endif  /* __INCLUDE_DEBUG_LL_JZ4755_H__ */
-- 
1.7.10




More information about the barebox mailing list