This reverts commit 92e0ae42b47c13028da7e31ad835fcc659391ae7. Signed-off-by: Marek Vasut <marek.vasut+rene...@mailbox.org> --- Cc: Andre Przywara <andre.przyw...@arm.com> Cc: Ashok Reddy Soma <ashok.reddy.s...@amd.com> Cc: Jagan Teki <ja...@amarulasolutions.com> Cc: Michael Walle <mwa...@kernel.org> Cc: Michal Simek <michal.si...@amd.com> Cc: Patrice Chotard <patrice.chot...@foss.st.com> Cc: Patrick Delaunay <patrick.delau...@foss.st.com> Cc: Pratyush Yadav <p.ya...@ti.com> Cc: Quentin Schulz <quentin.sch...@cherry.de> Cc: Sean Anderson <sean...@gmail.com> Cc: Simon Glass <s...@chromium.org> Cc: Takahiro Kuwano <takahiro.kuw...@infineon.com> Cc: Tom Rini <tr...@konsulko.com> Cc: Tudor Ambarus <tudor.amba...@linaro.org> Cc: Venkatesh Yadav Abbarapu <venkatesh.abbar...@amd.com> Cc: u-boot@lists.denx.de Cc: uboot-st...@st-md-mailman.stormreply.com --- 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