Message ID | 1397122543-30074-7-git-send-email-pekon@ti.com |
---|---|
State | Superseded |
Delegated to: | Scott Wood |
Headers | show |
On 10.04.2014 11:35, Pekon Gupta wrote: > This patch tries to avoid some local pointer dereferences, by using common > local variables in omap_correct_data_bch() > > Signed-off-by: Pekon Gupta <pekon@ti.com> > --- > drivers/mtd/nand/omap_gpmc.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c > index ae541c2..a96f310 100644 > --- a/drivers/mtd/nand/omap_gpmc.c > +++ b/drivers/mtd/nand/omap_gpmc.c > @@ -331,7 +331,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, > { > struct nand_chip *chip = mtd->priv; > struct omap_nand_info *info = chip->priv; > - uint32_t eccbytes = chip->ecc.bytes; > + struct nand_ecc_ctrl *ecc = &chip->ecc; Again, nitpicking because of inconsistent indentation. > uint32_t error_count = 0, error_max; > uint32_t error_loc[8]; > enum bch_level bch_type; > @@ -340,7 +340,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, > uint32_t byte_pos, bit_pos; > > /* check calculated ecc */ > - for (i = 0; i < chip->ecc.bytes && !ecc_flag; i++) { > + for (i = 0; i < ecc->bytes && !ecc_flag; i++) { > if (calc_ecc[i] != 0x00) > ecc_flag = 1; > } > @@ -349,7 +349,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, > > /* check for whether its a erased-page */ > ecc_flag = 0; > - for (i = 0; i < chip->ecc.bytes && !ecc_flag; i++) { > + for (i = 0; i < ecc->bytes && !ecc_flag; i++) { > if (read_ecc[i] != 0xff) > ecc_flag = 1; > } > @@ -363,7 +363,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, > switch (info->ecc_scheme) { > case OMAP_ECC_BCH8_CODE_HW: > bch_type = BCH_8_BIT; > - omap_reverse_list(calc_ecc, eccbytes - 1); > + omap_reverse_list(calc_ecc, ecc->bytes - 1); > break; > default: > return -EINVAL; > @@ -372,14 +372,14 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, > elm_config(bch_type); > if (elm_check_error(calc_ecc, bch_type, &error_count, error_loc)) { > printf("nand: error: uncorrectable ECC errors\n"); > - return -EINVAL; > + return -EBADMSG; This change is not mentioned in the commit log. Is it intentional? Or should it be moved to a separate patch? Thanks, Stefan
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index ae541c2..a96f310 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -331,7 +331,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, { struct nand_chip *chip = mtd->priv; struct omap_nand_info *info = chip->priv; - uint32_t eccbytes = chip->ecc.bytes; + struct nand_ecc_ctrl *ecc = &chip->ecc; uint32_t error_count = 0, error_max; uint32_t error_loc[8]; enum bch_level bch_type; @@ -340,7 +340,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, uint32_t byte_pos, bit_pos; /* check calculated ecc */ - for (i = 0; i < chip->ecc.bytes && !ecc_flag; i++) { + for (i = 0; i < ecc->bytes && !ecc_flag; i++) { if (calc_ecc[i] != 0x00) ecc_flag = 1; } @@ -349,7 +349,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, /* check for whether its a erased-page */ ecc_flag = 0; - for (i = 0; i < chip->ecc.bytes && !ecc_flag; i++) { + for (i = 0; i < ecc->bytes && !ecc_flag; i++) { if (read_ecc[i] != 0xff) ecc_flag = 1; } @@ -363,7 +363,7 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, switch (info->ecc_scheme) { case OMAP_ECC_BCH8_CODE_HW: bch_type = BCH_8_BIT; - omap_reverse_list(calc_ecc, eccbytes - 1); + omap_reverse_list(calc_ecc, ecc->bytes - 1); break; default: return -EINVAL; @@ -372,14 +372,14 @@ static int omap_correct_data_bch(struct mtd_info *mtd, uint8_t *dat, elm_config(bch_type); if (elm_check_error(calc_ecc, bch_type, &error_count, error_loc)) { printf("nand: error: uncorrectable ECC errors\n"); - return -EINVAL; + return -EBADMSG; } /* correct bch error */ for (count = 0; count < error_count; count++) { switch (info->ecc_scheme) { case OMAP_ECC_BCH8_CODE_HW: /* 14th byte in ECC is reserved to match ROM layout */ - error_max = SECTOR_BYTES + (eccbytes - 1); + error_max = SECTOR_BYTES + (ecc->bytes - 1); break; default: return -EINVAL;
This patch tries to avoid some local pointer dereferences, by using common local variables in omap_correct_data_bch() Signed-off-by: Pekon Gupta <pekon@ti.com> --- drivers/mtd/nand/omap_gpmc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)