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>
This commit is contained in:
Furquan Shaikh 2019-04-11 15:13:25 -07:00
parent 131134288b
commit 4d99b27018
1 changed files with 5 additions and 0 deletions

View File

@ -1316,6 +1316,11 @@ int main(int argc, char **argv)
override_devtree = argv[OVERRIDE_DEVICEFILE_ARG]; override_devtree = argv[OVERRIDE_DEVICEFILE_ARG];
parse_devicetree(override_devtree, &override_root_bus); 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); override_devicetree(&base_root_bus, &override_root_bus);
} }