diff mbox

[U-Boot,v1,6/6] mtd: nand: omap_gpmc: minor cleanup of omap_correct_data_bch

Message ID 1397122543-30074-7-git-send-email-pekon@ti.com
State Superseded
Delegated to: Scott Wood
Headers show

Commit Message

pekon gupta April 10, 2014, 9:35 a.m. UTC
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(-)

Comments

Stefan Roese April 10, 2014, 11:18 a.m. UTC | #1
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 mbox

Patch

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;