[PATCH 4/5] mtd: nand: nandsim: implement ->get_status()

Boris Brezillon boris.brezillon at free-electrons.com
Fri Sep 25 08:09:17 PDT 2015


We need to implement a specific ->get_status() function to support
power-cut emulation.

Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
---
 drivers/mtd/nand/nandsim.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/nandsim.c b/drivers/mtd/nand/nandsim.c
index b16d70a..efd8763 100644
--- a/drivers/mtd/nand/nandsim.c
+++ b/drivers/mtd/nand/nandsim.c
@@ -347,7 +347,7 @@ struct nandsim {
 	/* NAND flash internal registers */
 	struct {
 		unsigned command; /* the command register */
-		u_char   status;  /* the status register */
+		int      status;  /* the status register */
 		uint     row;     /* the page number */
 		uint     column;  /* the offset within page */
 		uint     count;   /* internal counter */
@@ -2221,6 +2221,13 @@ static void ns_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
 	return;
 }
 
+static int ns_nand_get_status(struct mtd_info *mtd)
+{
+	struct nandsim *ns = ((struct nand_chip *)mtd->priv)->priv;
+
+	return ns->regs.status;
+}
+
 /*
  * Module initialization function
  */
@@ -2256,6 +2263,7 @@ static int __init ns_init_module(void)
 	chip->write_buf  = ns_nand_write_buf;
 	chip->read_buf   = ns_nand_read_buf;
 	chip->read_word  = ns_nand_read_word;
+	chip->get_status = ns_nand_get_status;
 	chip->ecc.mode   = NAND_ECC_SOFT;
 	/* The NAND_SKIP_BBTSCAN option is necessary for 'overridesize' */
 	/* and 'badblocks' parameters to work */
-- 
1.9.1




More information about the linux-mtd mailing list