ramips: enable support for mtk_bmt in the nand flash driver
authorFelix Fietkau <nbd@nbd.name>
Thu, 10 Mar 2022 10:45:00 +0000 (11:45 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 25 Mar 2022 20:11:09 +0000 (21:11 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c

index b9c2dfb911b7d71d6123cb792d723f03f631c996..c298bdd541a195942faf140db9cb23c9d54958f8 100644 (file)
@@ -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);