devicetree: Remove weak declarations for ops

Make it compulsory to build with all the drivers that are
visible in the board devicetree.cb file.

Change-Id: Ifb783e2f733d5c65c615e5c1879e3e4c7a83e049
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35086
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
This commit is contained in:
Kyösti Mälkki 2019-08-17 06:28:40 +03:00 committed by Felix Held
parent 18d41e1c45
commit b2a10f8264
1 changed files with 10 additions and 3 deletions

View File

@ -1170,9 +1170,16 @@ static void emit_chip_headers(FILE *fil, struct chip *chip)
chip = tmp;
while (chip) {
fprintf(fil,
"__attribute__((weak)) struct chip_operations %s_ops = {};\n",
chip->name_underscore);
/* A lot of cpus do not define chip_operations at all, and the ones
that do only initialise .name. */
if (strstr(chip->name_underscore, "cpu_") == chip->name_underscore) {
fprintf(fil,
"__attribute__((weak)) struct chip_operations %s_ops = {};\n",
chip->name_underscore);
} else {
fprintf(fil, "extern struct chip_operations %s_ops;\n",
chip->name_underscore);
}
chip = chip->next;
}
fprintf(fil, "#endif\n");