On Fri, Dec 13, 2013 at 02:42:58PM +0530, Pekon Gupta wrote:
> @@ -1851,7 +1854,13 @@ static int omap_nand_probe(struct platform_device 
> *pdev)
>               ecclayout->eccbytes             = nand_chip->ecc.bytes *
>                                                       (mtd->writesize /
>                                                       nand_chip->ecc.size);
> -             ecclayout->eccpos[0]            = BADBLOCK_MARKER_LENGTH;
> +             oob_index                       = BADBLOCK_MARKER_LENGTH;
> +             for (i = 0; i < ecclayout->eccbytes; i++, oob_index++) {
> +                     if ((i % nand_chip->ecc.bytes) || (i == 0))
> +                             ecclayout->eccpos[i] = oob_index;
> +                     else
> +                             ecclayout->eccpos[i] = ++oob_index;

This if-else structure, with a combined assignment and increment kind of
obscures the logic of what you're really trying to do. Could this be
better as follows?

                for (i = 0; i < ecclayout->eccbytes; i++, oob_index++) {
                        ecclayout->eccpos[i] = oob_index;
                        if (((i + 1) % nand_chip->ecc.bytes) == 0)
                                oob_index++;
                }

> +             }
>               /* software bch library is used for locating errors */
>               nand_chip->ecc.priv             = nand_bch_init(mtd,
>                                                       nand_chip->ecc.size,

Brian
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to