Convert all uses of devm_request_and_ioremap() to the newly introduced
devm_ioremap_resource() which provides more consistent error handling.

devm_ioremap_resource() provides its own error messages so all explicit
error messages can be removed from the failure code paths.

Signed-off-by: Thierry Reding <thierry.red...@avionic-design.de>
Cc: Alessandro Zummo <a.zu...@towertech.it>
Cc: rtc-li...@googlegroups.com
---
 drivers/rtc/rtc-s3c.c   | 8 +++-----
 drivers/rtc/rtc-snvs.c  | 6 +++---
 drivers/rtc/rtc-spear.c | 8 +++-----
 drivers/rtc/rtc-tegra.c | 8 +++-----
 4 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 4046514..0c397ac 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -486,11 +486,9 @@ static int s3c_rtc_probe(struct platform_device *pdev)
                return -ENOENT;
        }
 
-       s3c_rtc_base = devm_request_and_ioremap(&pdev->dev, res);
-       if (s3c_rtc_base == NULL) {
-               dev_err(&pdev->dev, "failed to ioremap memory region\n");
-               return -EINVAL;
-       }
+       s3c_rtc_base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(s3c_rtc_base))
+               return PTR_ERR(s3c_rtc_base);
 
        rtc_clk = devm_clk_get(&pdev->dev, "rtc");
        if (IS_ERR(rtc_clk)) {
diff --git a/drivers/rtc/rtc-snvs.c b/drivers/rtc/rtc-snvs.c
index d5ec785..40662e9 100644
--- a/drivers/rtc/rtc-snvs.c
+++ b/drivers/rtc/rtc-snvs.c
@@ -252,9 +252,9 @@ static int snvs_rtc_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       data->ioaddr = devm_request_and_ioremap(&pdev->dev, res);
-       if (!data->ioaddr)
-               return -EADDRNOTAVAIL;
+       data->ioaddr = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(data->ioaddr))
+               return PTR_ERR(data->ioaddr);
 
        data->irq = platform_get_irq(pdev, 0);
        if (data->irq < 0)
diff --git a/drivers/rtc/rtc-spear.c b/drivers/rtc/rtc-spear.c
index c2121b5..a18c319 100644
--- a/drivers/rtc/rtc-spear.c
+++ b/drivers/rtc/rtc-spear.c
@@ -385,11 +385,9 @@ static int spear_rtc_probe(struct platform_device *pdev)
                return status;
        }
 
-       config->ioaddr = devm_request_and_ioremap(&pdev->dev, res);
-       if (!config->ioaddr) {
-               dev_err(&pdev->dev, "request-ioremap fail\n");
-               return -ENOMEM;
-       }
+       config->ioaddr = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(config->ioaddr))
+               return PTR_ERR(config->ioaddr);
 
        config->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(config->clk))
diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
index c84ea66..7c03375 100644
--- a/drivers/rtc/rtc-tegra.c
+++ b/drivers/rtc/rtc-tegra.c
@@ -327,11 +327,9 @@ static int tegra_rtc_probe(struct platform_device *pdev)
                return -EBUSY;
        }
 
-       info->rtc_base = devm_request_and_ioremap(&pdev->dev, res);
-       if (!info->rtc_base) {
-               dev_err(&pdev->dev, "Unable to request mem region and grab IOs 
for device.\n");
-               return -EBUSY;
-       }
+       info->rtc_base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(info->rtc_base))
+               return PTR_ERR(info->rtc_base);
 
        info->tegra_rtc_irq = platform_get_irq(pdev, 0);
        if (info->tegra_rtc_irq <= 0)
-- 
1.8.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to