mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-01 12:53:28 +07:00
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>
This commit is contained in:
parent
6cf78358c9
commit
561775169c
@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user