summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2012-11-15 07:05:43 +0200
committerPatrick Georgi <patrick@georgi-clan.de>2012-11-29 10:25:13 +0100
commite773c92ef44be12108c61ce342b0d48ad6c6ddd6 (patch)
tree9e041ef7922b565160926540192655696bdfcc0d
parent95efb565b6581c98df9064aeaa6b63dc3dfad2f6 (diff)
downloadcoreboot-e773c92ef44be12108c61ce342b0d48ad6c6ddd6.tar.xz
Make mainboard_ops and mainboard.c file optional
This provides weak empty declaration for mainboard_ops. The struct chip_operations is not defined for __PRE_RAM__ so the declaration is also moved upwards in the output. Change-Id: I101f0b8b9f0a55fb51a7c6475d53cc588c84026d Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/1931 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/arch/x86/Makefile.inc2
-rw-r--r--util/sconfig/main.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 2555280456..68e5dcdd07 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -228,7 +228,7 @@ endif
# Things that appear in every board
romstage-srcs += $(objgenerated)/crt0.s
-ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/mainboard.c
+ramstage-srcs += $(wildcard src/mainboard/$(MAINBOARDDIR)/mainboard.c)
ifeq ($(CONFIG_GENERATE_MP_TABLE),y)
ifneq ($(wildcard src/mainboard/$(MAINBOARDDIR)/mptable.c),)
ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/mptable.c
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index f5e6ac137f..8dfd50c47a 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -637,6 +637,7 @@ int main(int argc, char** argv) {
fprintf(autogen, "#include \"%s/chip.h\"\n", h->name);
}
fprintf(autogen, "\n#ifndef __PRE_RAM__\n");
+ fprintf(autogen, "__attribute__((weak)) struct chip_operations mainboard_ops = {};\n");
h = &headers;
while (h->next) {
h = h->next;
@@ -653,8 +654,6 @@ int main(int argc, char** argv) {
"ROMSTAGE_CONST struct device * ROMSTAGE_CONST last_dev = &%s;\n", lastdev->name);
#ifdef MAINBOARDS_HAVE_CHIP_H
fprintf(autogen, "static ROMSTAGE_CONST struct mainboard_config ROMSTAGE_CONST mainboard_info_0;\n");
-#else
- fprintf(autogen, "extern struct chip_operations mainboard_ops;\n");
#endif
walk_device_tree(autogen, &root, pass1, NULL);