This reverts commit 92e0ae42b47c13028da7e31ad835fcc659391ae7.
Signed-off-by: Marek Vasut <[email protected]>
---
Cc: Andre Przywara <[email protected]>
Cc: Ashok Reddy Soma <[email protected]>
Cc: Jagan Teki <[email protected]>
Cc: Michael Walle <[email protected]>
Cc: Michal Simek <[email protected]>
Cc: Patrice Chotard <[email protected]>
Cc: Patrick Delaunay <[email protected]>
Cc: Pratyush Yadav <[email protected]>
Cc: Quentin Schulz <[email protected]>
Cc: Sean Anderson <[email protected]>
Cc: Simon Glass <[email protected]>
Cc: Takahiro Kuwano <[email protected]>
Cc: Tom Rini <[email protected]>
Cc: Tudor Ambarus <[email protected]>
Cc: Venkatesh Yadav Abbarapu <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
drivers/mtd/spi/spi-nor-core.c | 50 ++++++++++------------------------
1 file changed, 14 insertions(+), 36 deletions(-)
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 19bf5cfb4f0..25fb034dcae 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -466,9 +466,8 @@ static ssize_t spi_nor_write_data(struct spi_nor *nor,
loff_t to, size_t len,
}
/*
- * Return the status register value. If the chip is parallel, then the
- * read will be striped, so we should read 2 bytes to get the sr
- * register value from both of the parallel chips.
+ * Read the status register, returning its value in the location
+ * Return the status register value.
* Returns negative if error occurred.
*/
static int read_sr(struct spi_nor *nor)
@@ -500,29 +499,18 @@ static int read_sr(struct spi_nor *nor)
if (spi_nor_protocol_is_dtr(nor->reg_proto))
op.data.nbytes = 2;
- if (nor->flags & SNOR_F_HAS_PARALLEL) {
- op.data.nbytes = 2;
- ret = spi_nor_read_write_reg(nor, &op, &val[0]);
- if (ret < 0) {
- pr_debug("error %d reading SR\n", (int)ret);
- return ret;
- }
- val[0] |= val[1];
- } else {
- ret = spi_nor_read_write_reg(nor, &op, &val[0]);
- if (ret < 0) {
- pr_debug("error %d reading SR\n", (int)ret);
- return ret;
- }
+ ret = spi_nor_read_write_reg(nor, &op, val);
+ if (ret < 0) {
+ pr_debug("error %d reading SR\n", (int)ret);
+ return ret;
}
- return val[0];
+ return *val;
}
/*
- * Return the flag status register value. If the chip is parallel, then
- * the read will be striped, so we should read 2 bytes to get the fsr
- * register value from both of the parallel chips.
+ * Read the flag status register, returning its value in the location
+ * Return the status register value.
* Returns negative if error occurred.
*/
static int read_fsr(struct spi_nor *nor)
@@ -554,23 +542,13 @@ static int read_fsr(struct spi_nor *nor)
if (spi_nor_protocol_is_dtr(nor->reg_proto))
op.data.nbytes = 2;
- if (nor->flags & SNOR_F_HAS_PARALLEL) {
- op.data.nbytes = 2;
- ret = spi_nor_read_write_reg(nor, &op, &val[0]);
- if (ret < 0) {
- pr_debug("error %d reading SR\n", (int)ret);
- return ret;
- }
- val[0] &= val[1];
- } else {
- ret = spi_nor_read_write_reg(nor, &op, &val[0]);
- if (ret < 0) {
- pr_debug("error %d reading FSR\n", ret);
- return ret;
- }
+ ret = spi_nor_read_write_reg(nor, &op, val);
+ if (ret < 0) {
+ pr_debug("error %d reading FSR\n", ret);
+ return ret;
}
- return val[0];
+ return *val;
}
/*
--
2.45.2