diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2012-10-07 22:04:52 +0200 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2012-11-27 21:48:22 +0100 |
commit | b6f765e7c85539b270dba407ff40846c3688ed60 (patch) | |
tree | 2958a12a09307add1624e99aec9167423320167b | |
parent | 28b900afbd6bcf817654f6cfab90bea8af43f5bd (diff) |
Provide weak empty declarations of all chip_ops used on a board
sconfig creates empty defaults for all chip_ops, which can be overridden
by drivers simply by providing a concrete implementation.
Change-Id: Ib37515f0b0747bdbf4da780d28690a1e719944b2
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/1567
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r-- | src/devices/Makefile.inc | 3 | ||||
-rw-r--r-- | src/devices/dummy_chip_ops.c | 30 | ||||
-rw-r--r-- | util/sconfig/main.c | 2 |
3 files changed, 1 insertions, 34 deletions
diff --git a/src/devices/Makefile.inc b/src/devices/Makefile.inc index 185ccc11a3..9d4b39146c 100644 --- a/src/devices/Makefile.inc +++ b/src/devices/Makefile.inc @@ -12,9 +12,6 @@ ramstage-y += pnp_device.c ramstage-y += pci_ops.c ramstage-y += smbus_ops.c -# Work-around for chip.h removal -ramstage-y += dummy_chip_ops.c - romstage-y+= device_romstage.c subdirs-y += oprom diff --git a/src/devices/dummy_chip_ops.c b/src/devices/dummy_chip_ops.c deleted file mode 100644 index a2fc999280..0000000000 --- a/src/devices/dummy_chip_ops.c +++ /dev/null @@ -1,30 +0,0 @@ -#include <device/device.h> - -/* Dummy chip_operations, so every chip has one for sure. - * Temporary work-around before total chip.h removal. - */ - -struct chip_operations cpu_via_c3_ops = {}; -struct chip_operations cpu_via_c7_ops = {}; -struct chip_operations cpu_amd_geode_lx_ops = {}; -struct chip_operations cpu_amd_geode_gx1_ops = {}; -struct chip_operations cpu_amd_geode_gx2_ops = {}; -struct chip_operations drivers_ati_ragexl_ops = {}; -struct chip_operations drivers_dec_21143_ops = {}; -struct chip_operations drivers_generic_generic_ops = {}; -struct chip_operations drivers_oxford_oxpcie_ops = {}; -struct chip_operations drivers_realtek_ops = {}; -struct chip_operations drivers_sil_3114_ops = {}; -struct chip_operations drivers_trident_blade3d_ops = {}; -struct chip_operations southbridge_amd_amd8131_ops = {}; -struct chip_operations southbridge_amd_amd8132_ops = {}; -struct chip_operations southbridge_amd_amd8151_ops = {}; -struct chip_operations southbridge_broadcom_bcm21000_ops = {}; -struct chip_operations southbridge_broadcom_bcm5780_ops = {}; -struct chip_operations southbridge_intel_i82870_ops = {}; -struct chip_operations southbridge_rdc_r8610_ops = {}; -struct chip_operations southbridge_via_k8t890_ops = {}; -struct chip_operations superio_serverengines_pilot_ops = {}; -struct chip_operations superio_smsc_lpc47n207_ops = {}; -struct chip_operations superio_smsc_sio1007_ops = {}; - diff --git a/util/sconfig/main.c b/util/sconfig/main.c index 43b083e92b..f5e6ac137f 100644 --- a/util/sconfig/main.c +++ b/util/sconfig/main.c @@ -641,7 +641,7 @@ int main(int argc, char** argv) { while (h->next) { h = h->next; char *name_underscore = translate_name(h->name, UNSLASH); - fprintf(autogen, "extern struct chip_operations %s_ops;\n", name_underscore); + fprintf(autogen, "__attribute__((weak)) struct chip_operations %s_ops = {};\n", name_underscore); free(name_underscore); } fprintf(autogen, "#endif\n"); |