mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT
authorWu, Josh <Josh.wu@atmel.com>
Thu, 2 Apr 2015 06:13:47 +0000 (14:13 +0800)
committerBrian Norris <computersforpeace@gmail.com>
Mon, 6 Apr 2015 00:47:56 +0000 (17:47 -0700)
if atmel,pmecc-lookup-table-offset is not found in DT node, we don't
need to map the ROM table as we will build a runtime gf table anyway.

Reported-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/atmel_nand.c

index 0361c199267374668ef6c6fd64caa48f0c7114cc..46010bd895b152598d44b9a47004c42de374a678 100644 (file)
@@ -1204,14 +1204,14 @@ static int atmel_pmecc_nand_init_params(struct platform_device *pdev,
                goto err;
        }
 
-       regs_rom = platform_get_resource(pdev, IORESOURCE_MEM, 3);
-       host->pmecc_rom_base = devm_ioremap_resource(&pdev->dev, regs_rom);
-       if (IS_ERR(host->pmecc_rom_base)) {
-               if (!host->has_no_lookup_table)
-                       /* Don't display the information again */
+       if (!host->has_no_lookup_table) {
+               regs_rom = platform_get_resource(pdev, IORESOURCE_MEM, 3);
+               host->pmecc_rom_base = devm_ioremap_resource(&pdev->dev,
+                                                               regs_rom);
+               if (IS_ERR(host->pmecc_rom_base)) {
                        dev_err(host->dev, "Can not get I/O resource for ROM, will build a lookup table in runtime!\n");
-
-               host->has_no_lookup_table = true;
+                       host->has_no_lookup_table = true;
+               }
        }
 
        if (host->has_no_lookup_table) {