summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2010-09-01 16:27:13 +0000
committerStefan Reinauer <stepan@openbios.org>2010-09-01 16:27:13 +0000
commitc3fad5633b8b17dc15c56733188fd27aa02589d9 (patch)
tree1d72feb1d214da19fdaecc78f1c228d40b9398b1
parenta7f2b0e339a2a051d5e0269eaa8fbb84530b6058 (diff)
Fix race condition in option_table.h generation by moving the include statement
to those files that actually need it. This significantly reduces the number of dependencies, so it's no longer extremely ugly to specify them manually (see the src/pc80/Makefile.inc portion) Also, drop the AMD DBM690T work around for the issue. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5762 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/include/pc80/mc146818rtc.h8
-rw-r--r--src/mainboard/amd/dbm690t/Kconfig6
-rw-r--r--src/pc80/Makefile.inc1
-rw-r--r--src/pc80/mc146818rtc.c3
-rw-r--r--src/pc80/mc146818rtc_early.c4
5 files changed, 8 insertions, 14 deletions
diff --git a/src/include/pc80/mc146818rtc.h b/src/include/pc80/mc146818rtc.h
index 0abb2a6b4b..032e3858bf 100644
--- a/src/include/pc80/mc146818rtc.h
+++ b/src/include/pc80/mc146818rtc.h
@@ -81,14 +81,6 @@
#define PC_CKS_RANGE_END 45
#define PC_CKS_LOC 46
-/* coreboot cmos checksum is usually only built over bytes 49..125
- * LB_CKS_RANGE_START, LB_CKS_RANGE_END and LB_CKS_LOC are defined
- * in option_table.h
- */
-#if CONFIG_HAVE_OPTION_TABLE
-#include <option_table.h>
-#endif
-
#ifndef UTIL_BUILD_OPTION_TABLE
#include <arch/io.h>
static inline unsigned char cmos_read(unsigned char addr)
diff --git a/src/mainboard/amd/dbm690t/Kconfig b/src/mainboard/amd/dbm690t/Kconfig
index 224a0be890..f9d61072f9 100644
--- a/src/mainboard/amd/dbm690t/Kconfig
+++ b/src/mainboard/amd/dbm690t/Kconfig
@@ -25,12 +25,6 @@ config MAINBOARD_DIR
string
default amd/dbm690t
-# This is a temporary fix, and should be removed when the race condition for
-# building option_table.h is fixed.
-config WARNINGS_ARE_ERRORS
- bool
- default n
-
config DCACHE_RAM_BASE
hex
default 0xc8000
diff --git a/src/pc80/Makefile.inc b/src/pc80/Makefile.inc
index b7890f56b6..fe7e8e8750 100644
--- a/src/pc80/Makefile.inc
+++ b/src/pc80/Makefile.inc
@@ -8,3 +8,4 @@ initobj-$(CONFIG_CACHE_AS_RAM) += serial.o
subdirs-y += vga
$(obj)/pc80/mc146818rtc.o : $(OPTION_TABLE_H)
+$(obj)/pc80/mc146818rtc_early.initobj.o : $(OPTION_TABLE_H)
diff --git a/src/pc80/mc146818rtc.c b/src/pc80/mc146818rtc.c
index 23b834c06a..d32b862317 100644
--- a/src/pc80/mc146818rtc.c
+++ b/src/pc80/mc146818rtc.c
@@ -2,6 +2,9 @@
#include <pc80/mc146818rtc.h>
#include <boot/coreboot_tables.h>
#include <string.h>
+#if CONFIG_USE_OPTION_TABLE
+#include <option_table.h>
+#endif
/* control registers - Moto names
*/
diff --git a/src/pc80/mc146818rtc_early.c b/src/pc80/mc146818rtc_early.c
index ed1f0926f0..9ffb440d1a 100644
--- a/src/pc80/mc146818rtc_early.c
+++ b/src/pc80/mc146818rtc_early.c
@@ -1,6 +1,10 @@
#include <pc80/mc146818rtc.h>
#include <fallback.h>
+#if CONFIG_USE_OPTION_TABLE
+#include <option_table.h>
+#endif
+
#ifndef CONFIG_MAX_REBOOT_CNT
#error "CONFIG_MAX_REBOOT_CNT not defined"
#endif