summaryrefslogtreecommitdiff
path: root/util/sconfig
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2019-04-11 15:13:25 -0700
committerFurquan Shaikh <furquan@google.com>2019-04-24 16:23:51 +0000
commit4d99b270187ac8c297404e811c268bb3470f283e (patch)
tree0d6561898b3f9266bed2959a4126ad7e0617d1dc /util/sconfig
parent131134288be3d8851e7e4e7268fac8b9072ef83c (diff)
downloadcoreboot-4d99b270187ac8c297404e811c268bb3470f283e.tar.xz
util/sconfig: Throw an error if override tree has no devices
If override tree does not have any device, then the chip info structure in it cannot be associated with the correct device and ends up being added as a standalone chip info structure without any device actually using it. This change prevents this condition by throwing an error during compilation. BUG=b:130342895 Change-Id: I7b8bb6b3228030a465976ca32ce8ef63f41365dd Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32289 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'util/sconfig')
-rw-r--r--util/sconfig/main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 4ac935e7b1..5382f470fd 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -1316,6 +1316,11 @@ int main(int argc, char **argv)
override_devtree = argv[OVERRIDE_DEVICEFILE_ARG];
parse_devicetree(override_devtree, &override_root_bus);
+ if (!dev_has_children(&override_root_dev)) {
+ fprintf(stderr, "ERROR: Override tree needs at least one device!\n");
+ exit(1);
+ }
+
override_devicetree(&base_root_bus, &override_root_bus);
}