X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fkboot-parser.c;h=4b4c2f7b49b9404ab67ecdd0e5fbb7ba4456a580;hp=e602dc4142582b31db7ad2ac25d96481bc895554;hb=9974f2d82b9450eaccd7661b3bfabb686ab8e161;hpb=5be946cda7b8e2271ade6188ca3f5dc068826619 diff --git a/discover/kboot-parser.c b/discover/kboot-parser.c index e602dc4..4b4c2f7 100644 --- a/discover/kboot-parser.c +++ b/discover/kboot-parser.c @@ -45,6 +45,7 @@ static void kboot_process_pair(struct conf_context *conf, const char *name, opt->id = talloc_asprintf(opt, "%s#%s", conf->dc->device->device->id, name); opt->name = talloc_strdup(opt, name); + d_opt->option = opt; args = talloc_strdup(opt, ""); initrd = conf_get_global_option(conf, "initrd"); @@ -83,7 +84,7 @@ static void kboot_process_pair(struct conf_context *conf, const char *name, } out_add: - d_opt->boot_image = create_devpath_resource(opt, + d_opt->boot_image = create_devpath_resource(d_opt, conf->dc->device, value); if (root) { @@ -93,7 +94,7 @@ out_add: opt->boot_args = args; if (initrd) { - d_opt->initrd = create_devpath_resource(opt, + d_opt->initrd = create_devpath_resource(d_opt, conf->dc->device, initrd); opt->description = talloc_asprintf(opt, "%s initrd=%s %s", @@ -157,9 +158,12 @@ static int kboot_parse(struct discover_context *dc, char *buf, int len) return 1; } -struct parser __kboot_parser = { +static struct parser kboot_parser = { .name = "kboot", + .method = CONF_METHOD_LOCAL_FILE, .parse = kboot_parse, .filenames = kboot_conf_files, .resolve_resource = resolve_devpath_resource, }; + +register_parser(kboot_parser);