提交 56177516 编写于 作者: A Akinobu Mita 提交者: David Woodhouse

mtd: mtd_nandbiterrs: use mtd_test helpers

Use mtdtest_write() and mtdtest_erase_eraseblock() in mtd_test helpers.
Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
Cc: Iwo Mergler <Iwo.Mergler@netcommwireless.com.au>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Vikram Narayanan <vikram186@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
上级 6cf78358
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
#include <linux/err.h> #include <linux/err.h>
#include <linux/mtd/nand.h> #include <linux/mtd/nand.h>
#include <linux/slab.h> #include <linux/slab.h>
#include "mtd_test.h"
static int dev; static int dev;
module_param(dev, int, S_IRUGO); module_param(dev, int, S_IRUGO);
...@@ -98,45 +99,17 @@ static uint8_t hash(unsigned offset) ...@@ -98,45 +99,17 @@ static uint8_t hash(unsigned offset)
return c; return c;
} }
static int erase_block(void)
{
int err;
struct erase_info ei;
loff_t addr = eraseblock * mtd->erasesize;
pr_info("erase_block\n");
memset(&ei, 0, sizeof(struct erase_info));
ei.mtd = mtd;
ei.addr = addr;
ei.len = mtd->erasesize;
err = mtd_erase(mtd, &ei);
if (err || ei.state == MTD_ERASE_FAILED) {
pr_err("error %d while erasing\n", err);
if (!err)
err = -EIO;
return err;
}
return 0;
}
/* Writes wbuffer to page */ /* Writes wbuffer to page */
static int write_page(int log) static int write_page(int log)
{ {
int err = 0; int err;
size_t written;
if (log) if (log)
pr_info("write_page\n"); pr_info("write_page\n");
err = mtd_write(mtd, offset, mtd->writesize, &written, wbuffer); err = mtdtest_write(mtd, offset, mtd->writesize, wbuffer);
if (err || written != mtd->writesize) { if (err)
pr_err("error: write failed at %#llx\n", (long long)offset); pr_err("error: write failed at %#llx\n", (long long)offset);
if (!err)
err = -EIO;
}
return err; return err;
} }
...@@ -415,7 +388,7 @@ static int __init mtd_nandbiterrs_init(void) ...@@ -415,7 +388,7 @@ static int __init mtd_nandbiterrs_init(void)
goto exit_rbuffer; goto exit_rbuffer;
} }
err = erase_block(); err = mtdtest_erase_eraseblock(mtd, eraseblock);
if (err) if (err)
goto exit_error; goto exit_error;
...@@ -428,7 +401,7 @@ static int __init mtd_nandbiterrs_init(void) ...@@ -428,7 +401,7 @@ static int __init mtd_nandbiterrs_init(void)
goto exit_error; goto exit_error;
/* We leave the block un-erased in case of test failure. */ /* We leave the block un-erased in case of test failure. */
err = erase_block(); err = mtdtest_erase_eraseblock(mtd, eraseblock);
if (err) if (err)
goto exit_error; goto exit_error;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册