[openwrt/openwrt] mediatek: attach bmt to the new snand driver

LEDE Commits lede-commits at lists.infradead.org
Thu Aug 26 20:31:41 PDT 2021


981213 pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b600aee3edbbf66e8cc714a7d5f69e4505a7445a

commit b600aee3edbbf66e8cc714a7d5f69e4505a7445a
Author: Chuanhong Guo <gch981213 at gmail.com>
AuthorDate: Fri Aug 20 15:21:40 2021 +0800

    mediatek: attach bmt to the new snand driver
    
    Signed-off-by: Chuanhong Guo <gch981213 at gmail.com>
---
 .../patches-5.10/330-mtk-bmt-support.patch         | 63 ++++++++++++----------
 1 file changed, 36 insertions(+), 27 deletions(-)

diff --git a/target/linux/mediatek/patches-5.10/330-mtk-bmt-support.patch b/target/linux/mediatek/patches-5.10/330-mtk-bmt-support.patch
index 699870fbd6..ca1e74b863 100644
--- a/target/linux/mediatek/patches-5.10/330-mtk-bmt-support.patch
+++ b/target/linux/mediatek/patches-5.10/330-mtk-bmt-support.patch
@@ -805,33 +805,6 @@
 +MODULE_AUTHOR("Xiangsheng Hou <xiangsheng.hou at mediatek.com>, Felix Fietkau <nbd at nbd.name>");
 +MODULE_DESCRIPTION("Bad Block mapping management v2 for MediaTek NAND Flash Driver");
 +
---- a/drivers/mtd/nand/spi/core.c
-+++ b/drivers/mtd/nand/spi/core.c
-@@ -19,6 +19,7 @@
- #include <linux/string.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/spi-mem.h>
-+#include <linux/mtd/mtk_bmt.h>
- 
- static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
- {
-@@ -1140,6 +1141,8 @@ 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;
-@@ -1165,6 +1168,7 @@ static int spinand_remove(struct spi_mem
- 	if (ret)
- 		return ret;
- 
-+	mtk_bmt_detach(mtd);
- 	spinand_cleanup(spinand);
- 
- 	return 0;
 --- /dev/null
 +++ b/include/linux/mtd/mtk_bmt.h
 @@ -0,0 +1,18 @@
@@ -853,3 +826,39 @@
 +#endif
 +
 +#endif
+--- a/drivers/mtd/mtk-snand/mtk-snand-mtd.c
++++ b/drivers/mtd/mtk-snand/mtk-snand-mtd.c
+@@ -16,6 +16,7 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/wait.h>
+ #include <linux/mtd/mtd.h>
++#include <linux/mtd/mtk_bmt.h>
+ #include <linux/mtd/partitions.h>
+ #include <linux/of_platform.h>
+ 
+@@ -608,6 +609,8 @@ static int mtk_snand_probe(struct platfo
+ 	mtd->_block_isbad = mtk_snand_mtd_block_isbad;
+ 	mtd->_block_markbad = mtk_snand_mtd_block_markbad;
+ 
++	mtk_bmt_attach(mtd);
++
+ 	ret = mtd_device_register(mtd, NULL, 0);
+ 	if (ret) {
+ 		dev_err(msm->pdev.dev, "failed to register mtd partition\n");
+@@ -619,6 +622,7 @@ static int mtk_snand_probe(struct platfo
+ 	return 0;
+ 
+ errout4:
++	mtk_bmt_detach(mtd);
+ 	devm_kfree(msm->pdev.dev, msm->page_cache);
+ 
+ errout3:
+@@ -646,6 +650,8 @@ static int mtk_snand_remove(struct platf
+ 	if (ret)
+ 		return ret;
+ 
++	mtk_bmt_detach(mtd);
++
+ 	mtk_snand_cleanup(msm->snf);
+ 
+ 	if (msm->irq >= 0)



More information about the lede-commits mailing list