9
0
Fork 0

bootm: remove image handler options

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2011-11-27 15:33:55 +01:00
parent 05b1167099
commit 479c6e9506
2 changed files with 1 additions and 58 deletions

View File

@ -142,25 +142,6 @@ static struct image_handle *get_fake_image_handle(struct image_data *data, int n
return handle;
}
static int handler_parse_options(struct image_data *data, int opt, char *optarg)
{
struct image_handler *handler;
int ret;
list_for_each_entry(handler, &handler_list, list) {
if (!handler->cmdline_parse)
continue;
ret = handler->cmdline_parse(data, opt, optarg);
if (ret > 0)
continue;
return ret;
}
return -1;
}
static int do_bootm(struct command *cmdtp, int argc, char *argv[])
{
int opt;
@ -169,32 +150,15 @@ static int do_bootm(struct command *cmdtp, int argc, char *argv[])
struct image_handler *handler;
struct image_data data;
u32 initrd_start;
char options[53]; /* worst case: whole alphabet with colons */
memset(&data, 0, sizeof(struct image_data));
data.verify = 1;
/* Collect options from registered handlers */
strcpy(options, "nhr:L:");
list_for_each_entry(handler, &handler_list, list) {
if (handler->cmdline_options)
strcat(options, handler->cmdline_options);
}
while((opt = getopt(argc, argv, options)) > 0) {
while ((opt = getopt(argc, argv, "nr:L:")) > 0) {
switch(opt) {
case 'n':
data.verify = 0;
break;
case 'h':
printf("bootm advanced options:\n");
list_for_each_entry(handler, &handler_list, list) {
if (handler->help_string)
printf("%s\n", handler->help_string);
}
return 0;
case 'L':
if (!data.initrd) {
eprintf("Warning -L ingnored. Specify the initrd first\n");
@ -238,23 +202,6 @@ static int do_bootm(struct command *cmdtp, int argc, char *argv[])
goto err_out;
}
optind = 0;
while((opt = getopt(argc, argv, options)) > 0) {
switch(opt) {
case 'h':
case 'n':
case 'L':
case 'r':
break;
default:
if (!handler_parse_options(&data, opt, optarg))
continue;
return 1;
}
}
/*
* We have reached the point of no return: we are going to
* overwrite all exception vector code, so we cannot easily

View File

@ -14,10 +14,6 @@ struct image_data {
struct image_handler {
struct list_head list;
char *cmdline_options;
int (*cmdline_parse)(struct image_data *data, int opt, char *optarg);
char *help_string;
int image_type;
int (*bootm)(struct image_data *data);
};