[PATCH 2] mtd/nand, BB detect: factory marker in page 1, 2, last and byte 1 or 6
Artem Bityutskiy
dedekind1 at gmail.com
Tue Jul 13 04:21:32 EDT 2010
On Fri, 2010-06-25 at 14:36 -0700, Brian Norris wrote:
> @@ -2920,9 +2920,13 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,
> chip->chip_shift = ffs((unsigned)(chip->chipsize >> 32)) + 32 - 1;
>
> /* Set the bad block position */
> - chip->badblockpos = mtd->writesize > 512 ?
> - NAND_LARGE_BADBLOCK_POS : NAND_SMALL_BADBLOCK_POS;
> - chip->badblockbits = 8;
> + chip->badblockpos = (!(busw & NAND_BUSWIDTH_16) &&
> + (*maf_id == NAND_MFR_STMICRO ||
> + (*maf_id == NAND_MFR_SAMSUNG &&
> + mtd->writesize == 512) ||
> + *maf_id == NAND_MFR_AMD))
> + ? NAND_SMALL_BADBLOCK_POS : NAND_LARGE_BADBLOCK_POS;
I'd prefer if () else, ? : is not appropriate for such huge conditions.
Nevertheless, you patch looks indeed like a step in the right direction,
but I cannot really test it and do not have time to review.
But could you please re-send it without trailing white-spaces - I'll put
it to my l2 tree then? You can do a 'git am' to your own patches - it'll
check for trailing white-spaces for you.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list