diff --git a/common/fb_nand.c b/common/fb_nand.c index 1c80ba9..57cbde0 100644 --- a/common/fb_nand.c +++ b/common/fb_nand.c @@ -23,6 +23,16 @@ struct fb_nand_sparse { struct part_info *part; }; +__weak int board_fastboot_erase_partition_setup(char *name) +{ + return 0; +} + +__weak int board_fastboot_write_partition_setup(char *name) +{ + return 0; +} + static int fb_nand_lookup(const char *partname, char *response, nand_info_t **nand, struct part_info **part) @@ -134,6 +144,10 @@ void fb_nand_flash_write(const char *partname, unsigned int session_id, return; } + ret = board_fastboot_write_partition_setup(part->name); + if (ret) + return; + if (is_sparse_image(download_buffer)) { struct fb_nand_sparse sparse_priv; sparse_storage_t sparse; @@ -184,6 +198,10 @@ void fb_nand_erase(const char *partname, char *response) return; } + ret = board_fastboot_erase_partition_setup(part->name); + if (ret) + return; + ret = _fb_nand_erase(nand, part); if (ret) { error("failed erasing from device %s", nand->name);