summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-11-20 16:29:43 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-11-20 16:29:43 +0000
commit9364d7753578d5df5362f1be7ee4a0391acdf2ea (patch)
treef0bdddc6cbc90e27198ad27a60d88ee259754263 /target/linux/ar71xx/files
parentc7120182addb4b4957b7a750c3adb76e7c6d24da (diff)
ar71xx: make rb750_nand driver compatible with 3.7
Also add compatibility patches for the currently supported kernels. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34279 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files')
-rw-r--r--target/linux/ar71xx/files/drivers/mtd/nand/rb750_nand.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/target/linux/ar71xx/files/drivers/mtd/nand/rb750_nand.c b/target/linux/ar71xx/files/drivers/mtd/nand/rb750_nand.c
index 9a0eadb93..94dedd8e4 100644
--- a/target/linux/ar71xx/files/drivers/mtd/nand/rb750_nand.c
+++ b/target/linux/ar71xx/files/drivers/mtd/nand/rb750_nand.c
@@ -110,8 +110,7 @@ static void rb750_nand_write(const u8 *buf, unsigned len)
__raw_readl(base + AR71XX_GPIO_REG_OE);
}
-static int rb750_nand_read_verify(u8 *read_buf, unsigned len,
- const u8 *verify_buf)
+static void rb750_nand_read(u8 *read_buf, unsigned len)
{
void __iomem *base = ath79_gpio_base;
unsigned i;
@@ -131,13 +130,8 @@ static int rb750_nand_read_verify(u8 *read_buf, unsigned len,
/* deactivate RE line */
__raw_writel(RB750_NAND_NRE, base + AR71XX_GPIO_REG_SET);
- if (read_buf)
- read_buf[i] = data;
- else if (verify_buf && verify_buf[i] != data)
- return -EFAULT;
+ read_buf[i] = data;
}
-
- return 0;
}
static void rb750_nand_select_chip(struct mtd_info *mtd, int chip)
@@ -212,13 +206,13 @@ static void rb750_nand_cmd_ctrl(struct mtd_info *mtd, int cmd,
static u8 rb750_nand_read_byte(struct mtd_info *mtd)
{
u8 data = 0;
- rb750_nand_read_verify(&data, 1, NULL);
+ rb750_nand_read(&data, 1);
return data;
}
static void rb750_nand_read_buf(struct mtd_info *mtd, u8 *buf, int len)
{
- rb750_nand_read_verify(buf, len, NULL);
+ rb750_nand_read(buf, len);
}
static void rb750_nand_write_buf(struct mtd_info *mtd, const u8 *buf, int len)
@@ -226,11 +220,6 @@ static void rb750_nand_write_buf(struct mtd_info *mtd, const u8 *buf, int len)
rb750_nand_write(buf, len);
}
-static int rb750_nand_verify_buf(struct mtd_info *mtd, const u8 *buf, int len)
-{
- return rb750_nand_read_verify(NULL, len, buf);
-}
-
static void __init rb750_nand_gpio_init(struct rb750_nand_info *info)
{
void __iomem *base = ath79_gpio_base;
@@ -285,7 +274,6 @@ static int __devinit rb750_nand_probe(struct platform_device *pdev)
info->chip.read_byte = rb750_nand_read_byte;
info->chip.write_buf = rb750_nand_write_buf;
info->chip.read_buf = rb750_nand_read_buf;
- info->chip.verify_buf = rb750_nand_verify_buf;
info->chip.chip_delay = 25;
info->chip.ecc.mode = NAND_ECC_SOFT;