@@ -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;
}
/*
This reverts commit 92e0ae42b47c13028da7e31ad835fcc659391ae7. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> --- Cc: Andre Przywara <andre.przywara@arm.com> Cc: Ashok Reddy Soma <ashok.reddy.soma@amd.com> Cc: Jagan Teki <jagan@amarulasolutions.com> Cc: Michael Walle <mwalle@kernel.org> Cc: Michal Simek <michal.simek@amd.com> Cc: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Cc: Pratyush Yadav <p.yadav@ti.com> Cc: Quentin Schulz <quentin.schulz@cherry.de> Cc: Sean Anderson <seanga2@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Cc: Tom Rini <trini@konsulko.com> Cc: Tudor Ambarus <tudor.ambarus@linaro.org> Cc: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Cc: u-boot@lists.denx.de Cc: uboot-stm32@st-md-mailman.stormreply.com --- drivers/mtd/spi/spi-nor-core.c | 50 ++++++++++------------------------ 1 file changed, 14 insertions(+), 36 deletions(-)