]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mtd: nand: make mtk_ecc.c a separated module
authorChuanhong Guo <gch981213@gmail.com>
Sun, 24 Apr 2022 03:25:23 +0000 (11:25 +0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 27 Apr 2022 16:12:35 +0000 (18:12 +0200)
this code will be used in mediatek snfi spi-mem controller with
pipelined ECC engine.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220424032527.673605-2-gch981213@gmail.com
drivers/mtd/nand/Kconfig
drivers/mtd/nand/Makefile
drivers/mtd/nand/ecc-mtk.c [moved from drivers/mtd/nand/raw/mtk_ecc.c with 99% similarity]
drivers/mtd/nand/raw/Kconfig
drivers/mtd/nand/raw/Makefile
drivers/mtd/nand/raw/mtk_nand.c
include/linux/mtd/nand-ecc-mtk.h [moved from drivers/mtd/nand/raw/mtk_ecc.h with 100% similarity]

index 9b249826ef93e2ee04138a0963e184d84cc6bb96..2f3e02ab72ede6fa14043226939b07ae432ec3ce 100644 (file)
@@ -53,6 +53,13 @@ config MTD_NAND_ECC_MXIC
        help
          This enables support for the hardware ECC engine from Macronix.
 
+config MTD_NAND_ECC_MEDIATEK
+       tristate "Mediatek hardware ECC engine"
+       depends on HAS_IOMEM
+       select MTD_NAND_ECC
+       help
+         This enables support for the hardware ECC engine from Mediatek.
+
 endmenu
 
 endmenu
index a4e6b7ae061434c866b22447be1f5ee2f71b2649..19e1291ac4d5e28dab834c28afb832c6f1786654 100644 (file)
@@ -2,6 +2,7 @@
 
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_MTD_NAND_ECC_MEDIATEK) += ecc-mtk.o
 
 obj-y  += onenand/
 obj-y  += raw/
similarity index 99%
rename from drivers/mtd/nand/raw/mtk_ecc.c
rename to drivers/mtd/nand/ecc-mtk.c
index e7df3dac705e24715f5077a9fbf094a7ca394ea0..491c2d66f81596a670cd3a810ccce266d49d44df 100644 (file)
@@ -15,8 +15,7 @@
 #include <linux/of.h>
 #include <linux/of_platform.h>
 #include <linux/mutex.h>
-
-#include "mtk_ecc.h"
+#include <linux/mtd/nand-ecc-mtk.h>
 
 #define ECC_IDLE_MASK          BIT(0)
 #define ECC_IRQ_EN             BIT(0)
index 9b078e78f3fabf6feeec06ca9261ee221c1bc9f3..8b6d7a515445e6dc828a8e01a481e6d4a92018ce 100644 (file)
@@ -374,6 +374,7 @@ config MTD_NAND_QCOM
 
 config MTD_NAND_MTK
        tristate "MTK NAND controller"
+       depends on MTD_NAND_ECC_MEDIATEK
        depends on ARCH_MEDIATEK || COMPILE_TEST
        depends on HAS_IOMEM
        help
index 88a566513c562d1f0280a4952ab5723d12dee3dc..fa1d0012031012268b09d9e4e13b1aa8bf7e0939 100644 (file)
@@ -48,7 +48,7 @@ obj-$(CONFIG_MTD_NAND_SUNXI)          += sunxi_nand.o
 obj-$(CONFIG_MTD_NAND_HISI504)         += hisi504_nand.o
 obj-$(CONFIG_MTD_NAND_BRCMNAND)                += brcmnand/
 obj-$(CONFIG_MTD_NAND_QCOM)            += qcom_nandc.o
-obj-$(CONFIG_MTD_NAND_MTK)             += mtk_ecc.o mtk_nand.o
+obj-$(CONFIG_MTD_NAND_MTK)             += mtk_nand.o
 obj-$(CONFIG_MTD_NAND_MXIC)            += mxic_nand.o
 obj-$(CONFIG_MTD_NAND_TEGRA)           += tegra_nand.o
 obj-$(CONFIG_MTD_NAND_STM32_FMC2)      += stm32_fmc2_nand.o
index 66f04c693c87d0ca079c1d87cf096cfda50fa279..d540454cbbdfaf5470ed3b790e4677ff518d1513 100644 (file)
@@ -17,7 +17,7 @@
 #include <linux/iopoll.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
-#include "mtk_ecc.h"
+#include <linux/mtd/nand-ecc-mtk.h>
 
 /* NAND controller register definition */
 #define NFI_CNFG               (0x00)