Patchwork [U-Boot,v8,07/31] __HAVE_ARCH_GENERIC_BOARD controls availabilty of generic board

login
register
mail settings
Submitter Simon Glass
Date March 8, 2013, 11:45 p.m.
Message ID <1362786351-4249-8-git-send-email-sjg@chromium.org>
Download mbox | patch
Permalink /patch/226289/
State Accepted, archived
Delegated to: Tom Rini
Headers show

Comments

Simon Glass - March 8, 2013, 11:45 p.m.
We are introducing a new unified board setup. Add a check to make sure that
board config files do not define CONFIG_SYS_GENERIC_BOARD unless their
architecture defines __HAVE_ARCH_GENERIC_BOARD

__HAVE_ARCH_GENERIC_BOARD will currently not be the default setting, but
we can switch this later when most architecture support generic board.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
Changes in v8:
- Switch polarity: !CONFIG_SYS_LEGACY_BOARD becomes __HAVE_ARCH_GENERIC_BOARD

Changes in v7:
- Add description of CONFIG_SYS_LEGACY_BOARD to README

Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

 README    | 10 ++++++++++
 config.mk |  8 ++++++++
 2 files changed, 18 insertions(+)

Patch

diff --git a/README b/README
index 42544ce..2c36e00 100644
--- a/README
+++ b/README
@@ -3211,6 +3211,16 @@  Configuration Settings:
 	If defined, don't allow the -f switch to env set override variable
 	access flags.
 
+- CONFIG_SYS_GENERIC_BOARD
+	This selects the architecture-generic board system instead of the
+	architecture-specific board files. It is intended to move boards
+	to this new framework over time. Defining this will disable the
+	arch/foo/lib/board.c file and use common/board_f.c and
+	common/board_r.c instead. To use this option your architecture
+	must support it (i.e. must define __HAVE_ARCH_GENERIC_BOARD in
+	its config.mk file). If you find problems enabling this option on
+	your board please report the problem and send patches!
+
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
diff --git a/config.mk b/config.mk
index b7cd481..9886415 100644
--- a/config.mk
+++ b/config.mk
@@ -221,6 +221,14 @@  ifeq ($(CONFIG_SPL_BUILD),y)
 CPPFLAGS += -DCONFIG_SPL_BUILD
 endif
 
+# Does this architecture support generic board init?
+ifeq ($(__HAVE_ARCH_GENERIC_BOARD),)
+ifneq ($(CONFIG_SYS_GENERIC_BOARD),)
+$(error Your architecture does not support generic board. Please undefined \
+CONFIG_SYS_GENERIC_BOARD in your board config file)
+endif
+endif
+
 ifneq ($(RESET_VECTOR_ADDRESS),)
 CPPFLAGS += -DRESET_VECTOR_ADDRESS=$(RESET_VECTOR_ADDRESS)
 endif