data.initrd_address = UIMAGE_SOME_ADDRESS; ... if (-L was given to bootm) data.initrd_address = address_provided_to_-L; ... if (initrd is provided as uInitrd && data.initrd_address == UIMAGE_SOME_ADDRESS) data.initrd_address = load_address_from_uInitrd; ... if (data.initrd_address == UIMAGE_SOME_ADDRESS) data.initrd_address = UIMAGE_INVALID_ADDRESS; can be simplified to: data.initrd_address = UIMAGE_INVALID_ADDRESS; ... if (-L was given to bootm) data.initrd_address = address_provided_to_-L; ... if (initrd is provided as uInitrd && data.initrd_address == UIMAGE_INVALID_ADDRESS) data.initrd_address = load_address_from_uInitrd; ... The only change introduced by this simplification is for cases where the user passes -L UIMAGE_SOME_ADDRESS or -L UIMAGE_INVALID_ADDRESS to bootm. (-L UIMAGE_SOME_ADDRESS is now used literally instead of ignored before. -L UIMAGE_INVALID_ADDRESS used to skip getting the initrd-address from the uInitrd, now the uInitrd address is honored.) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- commands/bootm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/commands/bootm.c b/commands/bootm.c index e5dfc6a..bb44776 100644 --- a/commands/bootm.c +++ b/commands/bootm.c @@ -127,7 +127,7 @@ static int bootm_open_initrd_uimage(struct image_data *data) data->initrd = data->os; } - if (data->initrd_address == UIMAGE_SOME_ADDRESS) + if (data->initrd_address == UIMAGE_INVALID_ADDRESS) data->initrd_address = data->initrd->header.ih_load; return 0; @@ -256,7 +256,7 @@ static int do_bootm(int argc, char *argv[]) memset(&data, 0, sizeof(struct image_data)); - data.initrd_address = UIMAGE_SOME_ADDRESS; + data.initrd_address = UIMAGE_INVALID_ADDRESS; data.os_address = UIMAGE_SOME_ADDRESS; data.verify = 0; data.verbose = 0; @@ -408,8 +408,6 @@ static int do_bootm(int argc, char *argv[]) #endif if (data.os_address == UIMAGE_SOME_ADDRESS) data.os_address = UIMAGE_INVALID_ADDRESS; - if (data.initrd_address == UIMAGE_SOME_ADDRESS) - data.initrd_address = UIMAGE_INVALID_ADDRESS; handler = bootm_find_handler(os_type, &data); if (!handler) { -- 1.8.2.rc2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox