--- a/drivers/mtd/nand/spi/core.c +++ b/drivers/mtd/nand/spi/core.c @@ -19,6 +19,7 @@ #include #include #include +#include static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val) { @@ -1346,6 +1347,7 @@ static int spinand_probe(struct spi_mem if (ret) return ret; + mtk_bmt_attach(mtd); ret = mtd_device_register(mtd, NULL, 0); if (ret) goto err_spinand_cleanup; @@ -1353,6 +1355,7 @@ static int spinand_probe(struct spi_mem return 0; err_spinand_cleanup: + mtk_bmt_detach(mtd); spinand_cleanup(spinand); return ret; @@ -1371,6 +1374,7 @@ static int spinand_remove(struct spi_mem if (ret) return ret; + mtk_bmt_detach(mtd); spinand_cleanup(spinand); return 0;