lkml.org 
[lkml]   [2019]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] mtd: spi-nor: Add prep/unprep for spi_nor_resume
Date
In the new implemented spi_nor_resume function, the spi_nor_init()
should be braced by prep/unprep functions._

Signed-off-by: Han Xu <han.xu@nxp.com>
---
drivers/mtd/spi-nor/spi-nor.c | 8 ++++++++
include/linux/mtd/spi-nor.h | 1 +
2 files changed, 9 insertions(+)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 73172d7f512b..f6491885fa4f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -3956,10 +3956,18 @@ static void spi_nor_resume(struct mtd_info *mtd)
struct device *dev = nor->dev;
int ret;

+ ret = spi_nor_lock_and_prep(nor, SPI_NOR_OPS_RESUME);
+ if (ret) {
+ dev_err(dev, "prepare() failed\n");
+ return;
+ }
+
/* re-initialize the nor chip */
ret = spi_nor_init(nor);
if (ret)
dev_err(dev, "resume() failed\n");
+
+ spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_RESUME);
}

void spi_nor_restore(struct spi_nor *nor)
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index b3d360b0ee3d..50cf71dd7e9e 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -231,6 +231,7 @@ enum spi_nor_ops {
SPI_NOR_OPS_ERASE,
SPI_NOR_OPS_LOCK,
SPI_NOR_OPS_UNLOCK,
+ SPI_NOR_OPS_RESUME,
};

enum spi_nor_option_flags {
--
2.17.1
\
 
 \ /
  Last update: 2019-04-24 23:09    [W:0.074 / U:0.272 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site