aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/tests
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2013-08-03 05:52:16 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2013-08-30 16:34:25 -0400
commit561775169ce289850670fdb4a7353b67a7095bfa (patch)
tree9e03dec0d8a3c773606c335c45cb1f48d8f206b5 /drivers/mtd/tests
parent6cf78358c94fc30cc1fe93992b67060302a2457e (diff)
mtd: mtd_nandbiterrs: use mtd_test helpers
Use mtdtest_write() and mtdtest_erase_eraseblock() in mtd_test helpers. Signed-off-by: Akinobu 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: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/tests')
-rw-r--r--drivers/mtd/tests/nandbiterrs.c39
1 files changed, 6 insertions, 33 deletions
diff --git a/drivers/mtd/tests/nandbiterrs.c b/drivers/mtd/tests/nandbiterrs.c
index 207bf9a9972f..5a8c8584112d 100644
--- a/drivers/mtd/tests/nandbiterrs.c
+++ b/drivers/mtd/tests/nandbiterrs.c
@@ -49,6 +49,7 @@
49#include <linux/err.h> 49#include <linux/err.h>
50#include <linux/mtd/nand.h> 50#include <linux/mtd/nand.h>
51#include <linux/slab.h> 51#include <linux/slab.h>
52#include "mtd_test.h"
52 53
53static int dev; 54static int dev;
54module_param(dev, int, S_IRUGO); 55module_param(dev, int, S_IRUGO);
@@ -98,45 +99,17 @@ static uint8_t hash(unsigned offset)
98 return c; 99 return c;
99} 100}
100 101
101static int erase_block(void)
102{
103 int err;
104 struct erase_info ei;
105 loff_t addr = eraseblock * mtd->erasesize;
106
107 pr_info("erase_block\n");
108
109 memset(&ei, 0, sizeof(struct erase_info));
110 ei.mtd = mtd;
111 ei.addr = addr;
112 ei.len = mtd->erasesize;
113
114 err = mtd_erase(mtd, &ei);
115 if (err || ei.state == MTD_ERASE_FAILED) {
116 pr_err("error %d while erasing\n", err);
117 if (!err)
118 err = -EIO;
119 return err;
120 }
121
122 return 0;
123}
124
125/* Writes wbuffer to page */ 102/* Writes wbuffer to page */
126static int write_page(int log) 103static int write_page(int log)
127{ 104{
128 int err = 0; 105 int err;
129 size_t written;
130 106
131 if (log) 107 if (log)
132 pr_info("write_page\n"); 108 pr_info("write_page\n");
133 109
134 err = mtd_write(mtd, offset, mtd->writesize, &written, wbuffer); 110 err = mtdtest_write(mtd, offset, mtd->writesize, wbuffer);
135 if (err || written != mtd->writesize) { 111 if (err)
136 pr_err("error: write failed at %#llx\n", (long long)offset); 112 pr_err("error: write failed at %#llx\n", (long long)offset);
137 if (!err)
138 err = -EIO;
139 }
140 113
141 return err; 114 return err;
142} 115}
@@ -415,7 +388,7 @@ static int __init mtd_nandbiterrs_init(void)
415 goto exit_rbuffer; 388 goto exit_rbuffer;
416 } 389 }
417 390
418 err = erase_block(); 391 err = mtdtest_erase_eraseblock(mtd, eraseblock);
419 if (err) 392 if (err)
420 goto exit_error; 393 goto exit_error;
421 394
@@ -428,7 +401,7 @@ static int __init mtd_nandbiterrs_init(void)
428 goto exit_error; 401 goto exit_error;
429 402
430 /* We leave the block un-erased in case of test failure. */ 403 /* We leave the block un-erased in case of test failure. */
431 err = erase_block(); 404 err = mtdtest_erase_eraseblock(mtd, eraseblock);
432 if (err) 405 if (err)
433 goto exit_error; 406 goto exit_error;
434 407