summaryrefslogtreecommitdiffstats
path: root/discover/device-handler.c
diff options
context:
space:
mode:
authorGeoff Levand <geoff@infradead.org>2013-04-15 15:23:05 -0700
committerJeremy Kerr <jk@ozlabs.org>2013-06-24 13:07:57 +0800
commitc11bcba9a99e858e618f4d872a5be7d52dcaaa5a (patch)
treefeff36ae437774c66bd19b9ce6b16b19e8d7da0e /discover/device-handler.c
parent9f895134427d9a72be3d296e596c0360014a9753 (diff)
downloadtalos-petitboot-c11bcba9a99e858e618f4d872a5be7d52dcaaa5a.tar.gz
talos-petitboot-c11bcba9a99e858e618f4d872a5be7d52dcaaa5a.zip
Add initial dtb support
Updates & fixes by Jeremy Kerr <jk@ozlabs.org>. Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/device-handler.c')
-rw-r--r--discover/device-handler.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index 46fecd2..d2a3f16 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -460,6 +460,7 @@ static bool __attribute__((used)) boot_option_is_resolved(
{
return resource_is_resolved(opt->boot_image) &&
resource_is_resolved(opt->initrd) &&
+ resource_is_resolved(opt->dtb) &&
resource_is_resolved(opt->icon);
}
@@ -484,6 +485,7 @@ static bool boot_option_resolve(struct discover_boot_option *opt,
{
return resource_resolve(opt->boot_image, "boot_image", opt, handler) &&
resource_resolve(opt->initrd, "initrd", opt, handler) &&
+ resource_resolve(opt->dtb, "dtb", opt, handler) &&
resource_resolve(opt->icon, "icon", opt, handler);
}
@@ -495,6 +497,7 @@ static void boot_option_finalise(struct device_handler *handler,
/* check that the parsers haven't set any of the final data */
assert(!opt->option->boot_image_file);
assert(!opt->option->initrd_file);
+ assert(!opt->option->dtb_file);
assert(!opt->option->icon_file);
assert(!opt->option->device_id);
@@ -502,6 +505,8 @@ static void boot_option_finalise(struct device_handler *handler,
opt->option->boot_image_file = opt->boot_image->url->full;
if (opt->initrd)
opt->option->initrd_file = opt->initrd->url->full;
+ if (opt->dtb)
+ opt->option->dtb_file = opt->dtb->url->full;
if (opt->icon)
opt->option->icon_file = opt->icon->url->full;
OpenPOWER on IntegriCloud