diff options
-rw-r--r-- | target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c b/target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c index b9c2dfb911..c298bdd541 100644 --- a/target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c +++ b/target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c @@ -18,6 +18,7 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/rawnand.h> #include <linux/mtd/partitions.h> +#include <linux/mtd/mtk_bmt.h> #include <linux/platform_device.h> #include <asm/addrspace.h> @@ -1254,9 +1255,12 @@ static int mt7621_nfc_init_chip(struct mt7621_nfc *nfc) if (ret) return ret; + mtk_bmt_attach(mtd); + ret = mtd_device_register(mtd, NULL, 0); if (ret) { dev_err(nfc->dev, "Failed to register MTD: %d\n", ret); + mtk_bmt_detach(mtd); nand_cleanup(nand); return ret; } @@ -1328,6 +1332,7 @@ static int mt7621_nfc_remove(struct platform_device *pdev) struct nand_chip *nand = &nfc->nand; struct mtd_info *mtd = nand_to_mtd(nand); + mtk_bmt_detach(mtd); mtd_device_unregister(mtd); nand_cleanup(nand); clk_disable_unprepare(nfc->nfi_clk); |