diff mbox

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

Message ID 1443193758-22071-5-git-send-email-boris.brezillon@free-electrons.com
State Rejected
Delegated to: Boris Brezillon
Headers show

Commit Message

Boris Brezillon Sept. 25, 2015, 3:09 p.m. UTC
We need to implement a specific ->get_status() function to support
power-cut emulation.

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

Patch

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 */