--- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c @@ -35,7 +35,7 @@ #include #include -#include +#include #define BCM63XX_EXTENDED_SIZE 0xBFC00000 /* Extended flash address */ @@ -43,30 +43,6 @@ #define BCM63XX_CFE_MAGIC_OFFSET 0x4e0 -static int bcm63xx_detect_cfe(struct mtd_info *master) -{ - char buf[9]; - int ret; - size_t retlen; - - ret = mtd_read(master, BCM963XX_CFE_VERSION_OFFSET, 5, &retlen, - (void *)buf); - buf[retlen] = 0; - - if (ret) - return ret; - - if (strncmp("cfe-v", buf, 5) == 0) - return 0; - - /* very old CFE's do not have the cfe-v string, so check for magic */ - ret = mtd_read(master, BCM63XX_CFE_MAGIC_OFFSET, 8, &retlen, - (void *)buf); - buf[retlen] = 0; - - return strncmp("CFE1CFE1", buf, 8); -} - static int bcm63xx_parse_cfe_partitions(struct mtd_info *master, struct mtd_partition **pparts, struct mtd_part_parser_data *data) @@ -85,7 +61,7 @@ static int bcm63xx_parse_cfe_partitions( u32 computed_crc; bool rootfs_first = false; - if (bcm63xx_detect_cfe(master)) + if (!bcm63xx_is_cfe_present()) return -EINVAL; cfe_erasesize = max_t(uint32_t, master->erasesize,