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>
This commit is contained in:
Patrick Georgi 2012-10-07 22:04:52 +02:00 committed by Stefan Reinauer
parent 28b900afbd
commit b6f765e7c8
3 changed files with 1 additions and 34 deletions

View File

@ -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

View File

@ -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 = {};

View File

@ -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");