Rewrite the code to make it clear exactly where the
SNOR_F_HAS_PARALLEL flag leads to *2 and /2 operation
compared to regular code path. No functional change.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
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 | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index e49b7cad023..c1ee466bcc0 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -1593,13 +1593,14 @@ static int spi_nor_read(struct mtd_info *mtd, loff_t 
from, size_t len,
        }
 
        while (len) {
-               if (nor->flags & SNOR_F_HAS_PARALLEL) {
-                       bank = (u32)from / (SZ_16M << 0x01);
-                       rem_bank_len = ((SZ_16M << 0x01) * (bank + 1)) - from;
-               } else {
-                       bank = (u32)from / SZ_16M;
-                       rem_bank_len = (SZ_16M * (bank + 1)) - from;
-               }
+               bank = (u32)from / SZ_16M;
+               if (nor->flags & SNOR_F_HAS_PARALLEL)
+                       bank /= 2;
+
+               rem_bank_len = SZ_16M * (bank + 1);
+               if (nor->flags & SNOR_F_HAS_PARALLEL)
+                       rem_bank_len *= 2;
+               rem_bank_len -= from;
 
                offset = from;
 
-- 
2.45.2

Reply via email to