diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c index 1e1f0af..ea46e7b 100644 --- a/cmd/mvebu/bubt.c +++ b/cmd/mvebu/bubt.c @@ -311,23 +311,21 @@ static int nand_burn_image(size_t image_size) { int ret; uint32_t block_size; - struct mtd_info *nand; - int dev = nand_curr_device; + struct mtd_info *mtd; - if ((dev < 0) || (dev >= CONFIG_SYS_MAX_NAND_DEVICE) || - (!nand_info[dev]->name)) { + mtd = get_nand_dev_by_index(nand_curr_device); + if (!mtd) { puts("\nno devices available\n"); return -ENOMEDIUM; } - nand = nand_info[dev]; - block_size = nand->erasesize; + block_size = mtd->erasesize; /* Align U-Boot size to currently used blocksize */ image_size = ((image_size + (block_size - 1)) & (~(block_size - 1))); /* Erase the U-BOOT image space */ printf("Erasing 0x%x - 0x%x:...", 0, (int)image_size); - ret = nand_erase(nand, 0, image_size); + ret = nand_erase(mtd, 0, image_size); if (ret) { printf("Error!\n"); goto error; @@ -337,7 +335,7 @@ static int nand_burn_image(size_t image_size) /* Write the image to flash */ printf("Writing %d bytes from 0x%lx to offset 0 ... ", (int)image_size, get_load_addr()); - ret = nand_write(nand, 0, &image_size, (void *)get_load_addr()); + ret = nand_write(mtd, 0, &image_size, (void *)get_load_addr()); if (ret) printf("Error!\n"); else