Commit 5954c47c authored by Mike Frysinger's avatar Mike Frysinger Committed by David Woodhouse

mtd: Blackfin NFC: fix badblock location with BootROM OOB

The bbt structure isn't actually used, just the badblockpos.  This lets
the driver correctly handle badblocks with the different OOB layout with
certain sized flashes.  Previously, the blocks would all be reported as
bad and be completely unusable.
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent d031c226
...@@ -110,15 +110,6 @@ static const unsigned short bfin_nfc_pin_req[] = ...@@ -110,15 +110,6 @@ static const unsigned short bfin_nfc_pin_req[] =
0}; 0};
#ifdef CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC #ifdef CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC
static uint8_t bbt_pattern[] = { 0xff };
static struct nand_bbt_descr bootrom_bbt = {
.options = 0,
.offs = 63,
.len = 1,
.pattern = bbt_pattern,
};
static struct nand_ecclayout bootrom_ecclayout = { static struct nand_ecclayout bootrom_ecclayout = {
.eccbytes = 24, .eccbytes = 24,
.eccpos = { .eccpos = {
...@@ -809,7 +800,6 @@ static int __devinit bf5xx_nand_probe(struct platform_device *pdev) ...@@ -809,7 +800,6 @@ static int __devinit bf5xx_nand_probe(struct platform_device *pdev)
/* setup hardware ECC data struct */ /* setup hardware ECC data struct */
if (hardware_ecc) { if (hardware_ecc) {
#ifdef CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC #ifdef CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC
chip->badblock_pattern = &bootrom_bbt;
chip->ecc.layout = &bootrom_ecclayout; chip->ecc.layout = &bootrom_ecclayout;
#endif #endif
chip->read_buf = bf5xx_nand_dma_read_buf; chip->read_buf = bf5xx_nand_dma_read_buf;
...@@ -830,6 +820,10 @@ static int __devinit bf5xx_nand_probe(struct platform_device *pdev) ...@@ -830,6 +820,10 @@ static int __devinit bf5xx_nand_probe(struct platform_device *pdev)
goto out_err_nand_scan; goto out_err_nand_scan;
} }
#ifdef CONFIG_MTD_NAND_BF5XX_BOOTROM_ECC
chip->badblockpos = 63;
#endif
/* add NAND partition */ /* add NAND partition */
bf5xx_nand_add_partition(info); bf5xx_nand_add_partition(info);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment