]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
sf: ops: Unify read_ops bank configuration
authorJagannadha Sutradharudu Teki <jaganna@xilinx.com>
Sat, 11 Jan 2014 11:27:07 +0000 (16:57 +0530)
committerJagannadha Sutradharudu Teki <jaganna@xilinx.com>
Sun, 12 Jan 2014 16:08:33 +0000 (21:38 +0530)
Unified the bar code from read_ops into a spi_flash_bar()

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
drivers/mtd/spi/sf_ops.c

index bc4a822fb323dc0d379c092e5c81b783545089a3..7ae958211e88e3f02e714ae4b215a4621204a53d 100644 (file)
@@ -127,7 +127,7 @@ static int spi_flash_bank(struct spi_flash *flash, u32 offset)
                return ret;
        }
 
-       return 0;
+       return bank_sel;
 }
 #endif
 
@@ -321,8 +321,9 @@ int spi_flash_read_common(struct spi_flash *flash, const u8 *cmd,
 int spi_flash_cmd_read_ops(struct spi_flash *flash, u32 offset,
                size_t len, void *data)
 {
-       u8 *cmd, cmdsz, bank_sel = 0;
+       u8 *cmd, cmdsz;
        u32 remain_len, read_len;
+       int bank_sel = 0;
        int ret = -1;
 
        /* Handle memory-mapped SPI */
@@ -346,13 +347,9 @@ int spi_flash_cmd_read_ops(struct spi_flash *flash, u32 offset,
        cmd[0] = flash->read_cmd;
        while (len) {
 #ifdef CONFIG_SPI_FLASH_BAR
-               bank_sel = offset / SPI_FLASH_16MB_BOUN;
-
-               ret = spi_flash_cmd_bankaddr_write(flash, bank_sel);
-               if (ret) {
-                       debug("SF: fail to set bank%d\n", bank_sel);
+               bank_sel = spi_flash_bank(flash, offset);
+               if (bank_sel < 0)
                        return ret;
-               }
 #endif
                remain_len = (SPI_FLASH_16MB_BOUN * (bank_sel + 1)) - offset;
                if (len < remain_len)