]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/mtd/nand/pxa3xx_nand.c
Merge tag 'nand/for-4.10' of github.com:linux-nand/linux
[karo-tx-linux.git] / drivers / mtd / nand / pxa3xx_nand.c
index b121bf4ed73a2d50aca1935cffe2e6bf3639c26d..649ba8200832d5ba3d237327fd3861d9844c2149 100644 (file)
@@ -1680,8 +1680,9 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
        chip->ecc.strength = pdata->ecc_strength;
        chip->ecc.size = pdata->ecc_step_size;
 
-       if (nand_scan_ident(mtd, 1, NULL))
-               return -ENODEV;
+       ret = nand_scan_ident(mtd, 1, NULL);
+       if (ret)
+               return ret;
 
        if (!pdata->keep_config) {
                ret = pxa3xx_nand_init(host);
@@ -1774,8 +1775,11 @@ static int alloc_nand_resource(struct platform_device *pdev)
        int ret, irq, cs;
 
        pdata = dev_get_platdata(&pdev->dev);
-       if (pdata->num_cs <= 0)
+       if (pdata->num_cs <= 0) {
+               dev_err(&pdev->dev, "invalid number of chip selects\n");
                return -ENODEV;
+       }
+
        info = devm_kzalloc(&pdev->dev,
                            sizeof(*info) + sizeof(*host) * pdata->num_cs,
                            GFP_KERNEL);
@@ -1813,8 +1817,9 @@ static int alloc_nand_resource(struct platform_device *pdev)
        nand_hw_control_init(chip->controller);
        info->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(info->clk)) {
-               dev_err(&pdev->dev, "failed to get nand clock\n");
-               return PTR_ERR(info->clk);
+               ret = PTR_ERR(info->clk);
+               dev_err(&pdev->dev, "failed to get nand clock: %d\n", ret);
+               return ret;
        }
        ret = clk_prepare_enable(info->clk);
        if (ret < 0)
@@ -1842,6 +1847,7 @@ static int alloc_nand_resource(struct platform_device *pdev)
        info->mmio_base = devm_ioremap_resource(&pdev->dev, r);
        if (IS_ERR(info->mmio_base)) {
                ret = PTR_ERR(info->mmio_base);
+               dev_err(&pdev->dev, "failed to map register space: %d\n", ret);
                goto fail_disable_clk;
        }
        info->mmio_phys = r->start;
@@ -1861,7 +1867,7 @@ static int alloc_nand_resource(struct platform_device *pdev)
                                   pxa3xx_nand_irq_thread, IRQF_ONESHOT,
                                   pdev->name, info);
        if (ret < 0) {
-               dev_err(&pdev->dev, "failed to request IRQ\n");
+               dev_err(&pdev->dev, "failed to request IRQ: %d\n", ret);
                goto fail_free_buf;
        }
 
@@ -1960,10 +1966,8 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
        }
 
        ret = alloc_nand_resource(pdev);
-       if (ret) {
-               dev_err(&pdev->dev, "alloc nand resource failed\n");
+       if (ret)
                return ret;
-       }
 
        info = platform_get_drvdata(pdev);
        probe_success = 0;