diff options
Diffstat (limited to 'drivers/mtd/nand/atmel_nand.c')
-rw-r--r-- | drivers/mtd/nand/atmel_nand.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index d93c849b70b5..46010bd895b1 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c | |||
@@ -485,7 +485,7 @@ static void pmecc_config_ecc_layout(struct nand_ecclayout *layout, | |||
485 | for (i = 0; i < ecc_len; i++) | 485 | for (i = 0; i < ecc_len; i++) |
486 | layout->eccpos[i] = oobsize - ecc_len + i; | 486 | layout->eccpos[i] = oobsize - ecc_len + i; |
487 | 487 | ||
488 | layout->oobfree[0].offset = 2; | 488 | layout->oobfree[0].offset = PMECC_OOB_RESERVED_BYTES; |
489 | layout->oobfree[0].length = | 489 | layout->oobfree[0].length = |
490 | oobsize - ecc_len - layout->oobfree[0].offset; | 490 | oobsize - ecc_len - layout->oobfree[0].offset; |
491 | } | 491 | } |
@@ -1204,14 +1204,14 @@ static int atmel_pmecc_nand_init_params(struct platform_device *pdev, | |||
1204 | goto err; | 1204 | goto err; |
1205 | } | 1205 | } |
1206 | 1206 | ||
1207 | regs_rom = platform_get_resource(pdev, IORESOURCE_MEM, 3); | 1207 | if (!host->has_no_lookup_table) { |
1208 | host->pmecc_rom_base = devm_ioremap_resource(&pdev->dev, regs_rom); | 1208 | regs_rom = platform_get_resource(pdev, IORESOURCE_MEM, 3); |
1209 | if (IS_ERR(host->pmecc_rom_base)) { | 1209 | host->pmecc_rom_base = devm_ioremap_resource(&pdev->dev, |
1210 | if (!host->has_no_lookup_table) | 1210 | regs_rom); |
1211 | /* Don't display the information again */ | 1211 | if (IS_ERR(host->pmecc_rom_base)) { |
1212 | dev_err(host->dev, "Can not get I/O resource for ROM, will build a lookup table in runtime!\n"); | 1212 | dev_err(host->dev, "Can not get I/O resource for ROM, will build a lookup table in runtime!\n"); |
1213 | 1213 | host->has_no_lookup_table = true; | |
1214 | host->has_no_lookup_table = true; | 1214 | } |
1215 | } | 1215 | } |
1216 | 1216 | ||
1217 | if (host->has_no_lookup_table) { | 1217 | if (host->has_no_lookup_table) { |
@@ -1254,7 +1254,8 @@ static int atmel_pmecc_nand_init_params(struct platform_device *pdev, | |||
1254 | nand_chip->ecc.steps = mtd->writesize / sector_size; | 1254 | nand_chip->ecc.steps = mtd->writesize / sector_size; |
1255 | nand_chip->ecc.total = nand_chip->ecc.bytes * | 1255 | nand_chip->ecc.total = nand_chip->ecc.bytes * |
1256 | nand_chip->ecc.steps; | 1256 | nand_chip->ecc.steps; |
1257 | if (nand_chip->ecc.total > mtd->oobsize - 2) { | 1257 | if (nand_chip->ecc.total > |
1258 | mtd->oobsize - PMECC_OOB_RESERVED_BYTES) { | ||
1258 | dev_err(host->dev, "No room for ECC bytes\n"); | 1259 | dev_err(host->dev, "No room for ECC bytes\n"); |
1259 | err_no = -EINVAL; | 1260 | err_no = -EINVAL; |
1260 | goto err; | 1261 | goto err; |
@@ -1719,7 +1720,7 @@ static int nfc_wait_interrupt(struct atmel_nand_host *host, u32 flag) | |||
1719 | comp[index++] = &host->nfc->comp_cmd_done; | 1720 | comp[index++] = &host->nfc->comp_cmd_done; |
1720 | 1721 | ||
1721 | if (index == 0) { | 1722 | if (index == 0) { |
1722 | dev_err(host->dev, "Unkown interrupt flag: 0x%08x\n", flag); | 1723 | dev_err(host->dev, "Unknown interrupt flag: 0x%08x\n", flag); |
1723 | return -EINVAL; | 1724 | return -EINVAL; |
1724 | } | 1725 | } |
1725 | 1726 | ||
@@ -1752,11 +1753,10 @@ static int nfc_send_command(struct atmel_nand_host *host, | |||
1752 | cmd, addr, cycle0); | 1753 | cmd, addr, cycle0); |
1753 | 1754 | ||
1754 | timeout = jiffies + msecs_to_jiffies(NFC_TIME_OUT_MS); | 1755 | timeout = jiffies + msecs_to_jiffies(NFC_TIME_OUT_MS); |
1755 | while (nfc_cmd_readl(NFCADDR_CMD_NFCBUSY, host->nfc->base_cmd_regs) | 1756 | while (nfc_readl(host->nfc->hsmc_regs, SR) & NFC_SR_BUSY) { |
1756 | & NFCADDR_CMD_NFCBUSY) { | ||
1757 | if (time_after(jiffies, timeout)) { | 1757 | if (time_after(jiffies, timeout)) { |
1758 | dev_err(host->dev, | 1758 | dev_err(host->dev, |
1759 | "Time out to wait CMD_NFCBUSY ready!\n"); | 1759 | "Time out to wait for NFC ready!\n"); |
1760 | return -ETIMEDOUT; | 1760 | return -ETIMEDOUT; |
1761 | } | 1761 | } |
1762 | } | 1762 | } |