summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/nand_omap_gpmc.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-11-07 17:09:21 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-11-08 11:05:43 +0100
commit4a0a5df35607273f7155ce24bf4c2c2210885b64 (patch)
tree9b889088fc940e79e8080c632b2bbdf3f9690743 /drivers/mtd/nand/nand_omap_gpmc.c
parent6b8503baabb5a55dc6e21c80d02ac8729149525e (diff)
downloadbarebox-4a0a5df35607273f7155ce24bf4c2c2210885b64.tar.gz
barebox-4a0a5df35607273f7155ce24bf4c2c2210885b64.tar.xz
mtd nand omap: use blocknum calculation to where it's used
Just some refactoring to make the next patches better readable. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd/nand/nand_omap_gpmc.c')
-rw-r--r--drivers/mtd/nand/nand_omap_gpmc.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c
index a012c03dec..f1074bb484 100644
--- a/drivers/mtd/nand/nand_omap_gpmc.c
+++ b/drivers/mtd/nand/nand_omap_gpmc.c
@@ -362,19 +362,13 @@ static int omap_correct_data(struct mtd_info *mtd, uint8_t *dat,
int ecc_type = OMAP_ECC_BCH8_CODE_HW;
int i, j, eccsize, eccflag, count;
unsigned int err_loc[8];
- int blockCnt = 0;
+ int blocks = 0;
int select_4_8;
debug("mtd=%x dat=%x read_ecc=%x calc_ecc=%x", (unsigned int)mtd,
(unsigned int)dat, (unsigned int)read_ecc,
(unsigned int)calc_ecc);
- if ((nand->ecc.mode == NAND_ECC_HW) &&
- (nand->ecc.size == 2048))
- blockCnt = 4;
- else
- blockCnt = 1;
-
switch (oinfo->ecc_mode) {
case OMAP_ECC_HAMMING_CODE_HW_ROMCODE:
if (read_ecc[0] == 0xff && read_ecc[1] == 0xff &&
@@ -415,6 +409,12 @@ static int omap_correct_data(struct mtd_info *mtd, uint8_t *dat,
select_4_8 = 1;
/* fall through */
case OMAP_ECC_BCH4_CODE_HW:
+
+ if (nand->ecc.size == 2048)
+ blocks = 4;
+ else
+ blocks = 1;
+
if (ecc_type == OMAP_ECC_BCH4_CODE_HW) {
eccsize = 7;
select_4_8 = 0;