diff options
Diffstat (limited to 'target/linux/ramips/patches-4.9/0040-nand-hack.patch')
-rw-r--r-- | target/linux/ramips/patches-4.9/0040-nand-hack.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/target/linux/ramips/patches-4.9/0040-nand-hack.patch b/target/linux/ramips/patches-4.9/0040-nand-hack.patch deleted file mode 100644 index c3e358cd0b..0000000000 --- a/target/linux/ramips/patches-4.9/0040-nand-hack.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/drivers/mtd/nand/nand_base.c -+++ b/drivers/mtd/nand/nand_base.c -@@ -2027,6 +2027,9 @@ static int nand_do_read_ops(struct mtd_i - __func__, buf); - - read_retry: -+#ifdef CONFIG_MTK_MTD_NAND -+ ret = chip->read_page(mtd, chip, bufpoi, page); -+#else - chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page); - - /* -@@ -2045,6 +2048,7 @@ read_retry: - else - ret = chip->ecc.read_page(mtd, chip, bufpoi, - oob_required, page); -+#endif - if (ret < 0) { - if (use_bufpoi) - /* Invalidate page cache */ -@@ -3214,8 +3218,11 @@ int nand_erase_nand(struct mtd_info *mtd - (page + pages_per_block)) - chip->pagebuf = -1; - -+#ifdef CONFIG_MTK_MTD_NAND -+ status = chip->erase_mtk(mtd, page & chip->pagemask); -+#else - status = chip->erase(mtd, page & chip->pagemask); -- -+#endif - /* - * See if operation failed and additional status checks are - * available -@@ -4409,6 +4416,7 @@ int nand_scan_ident(struct mtd_info *mtd - * cmdfunc() both expect cmd_ctrl() to be populated, - * so we need to check that that's the case - */ -+ printk("%s:%s[%d]%p %p %p\n", __FILE__, __func__, __LINE__, chip->cmdfunc, chip->select_chip, chip->cmd_ctrl); - pr_err("chip.cmd_ctrl() callback is not provided"); - return -EINVAL; - } ---- a/drivers/mtd/nand/nand_device_list.h -+++ b/drivers/mtd/nand/nand_device_list.h -@@ -44,6 +44,8 @@ static const flashdev_info gen_FlashTabl - {0xADBC, 0x905554, 5, 16, 512, 128, 2048, 64, 0x10801011, "H9DA4GH4JJAMC", 0}, - {0x01F1, 0x801D01, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "S34ML01G100TF", 0}, - {0x92F1, 0x8095FF, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "F59L1G81A", 0}, -+ {0xC8DA, 0x909544, 5, 8, 256, 128, 2048, 64, 0x30C77fff, "F59L2G81A", 0}, -+ {0xC8DC, 0x909554, 5, 8, 512, 128, 2048, 64, 0x30C77fff, "F59L4G81A", 0}, - {0xECD3, 0x519558, 5, 8, 1024, 128, 2048, 64, 0x44333, "K9K8G8000", 0}, - {0xC2F1, 0x801DC2, 4, 8, 128, 128, 2048, 64, 0x30C77fff, "MX30LF1G08AA", 0}, - {0x98D3, 0x902676, 5, 8, 1024, 256, 4096, 224, 0x00C25332, "TC58NVG3S0F", 0}, ---- a/include/linux/mtd/nand.h -+++ b/include/linux/mtd/nand.h -@@ -825,6 +825,10 @@ struct nand_chip { - const struct nand_data_interface *conf, - bool check_only); - -+#ifdef CONFIG_MTK_MTD_NAND -+ int (*read_page)(struct mtd_info *mtd, struct nand_chip *chip, u8 *buf, int page); -+ int (*erase_mtk)(struct mtd_info *mtd, int page); -+#endif /* CONFIG_MTK_MTD_NAND */ - - int chip_delay; - unsigned int options; |