|
@@ -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;
|