]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mtd: nand: pxa3xx_nand: write exactly one message on probe failure
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 19 Sep 2016 09:21:18 +0000 (11:21 +0200)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Mon, 7 Nov 2016 13:48:38 +0000 (14:48 +0100)
For some error paths alloc_nand_resource() emitted an error message, for
others it didn't. Make it consistently print a message including the
error code where it's not constant and drop the hardly helpful
additional message printed by the caller of alloc_nand_resource.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/pxa3xx_nand.c

index b121bf4ed73a2d50aca1935cffe2e6bf3639c26d..4c749b0303011de53b344eb359a2d00a01ca7ed8 100644 (file)
@@ -1774,8 +1774,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 +1816,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 +1846,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 +1866,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 +1965,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;