rtc: at91sam9: replace devm_ioremap by devm_ioremap_resource
authorBoris BREZILLON <boris.brezillon@free-electrons.com>
Tue, 23 Sep 2014 11:14:09 +0000 (13:14 +0200)
committerNicolas Ferre <nicolas.ferre@atmel.com>
Thu, 13 Nov 2014 15:07:59 +0000 (16:07 +0100)
Replace devm_ioremap calls by devm_ioremap_resource which already check
resource consistency (resource != NULL) and print an error in case of
failure.

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Johan Hovold <johan@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
drivers/rtc/rtc-at91sam9.c

index 74a9ca0..38a2693 100644 (file)
@@ -306,18 +306,11 @@ static const struct rtc_class_ops at91_rtc_ops = {
  */
 static int at91_rtc_probe(struct platform_device *pdev)
 {
-       struct resource *r, *r_gpbr;
+       struct resource *r;
        struct sam9_rtc *rtc;
        int             ret, irq;
        u32             mr;
 
-       r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       r_gpbr = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       if (!r || !r_gpbr) {
-               dev_err(&pdev->dev, "need 2 ressources\n");
-               return -ENODEV;
-       }
-
        irq = platform_get_irq(pdev, 0);
        if (irq < 0) {
                dev_err(&pdev->dev, "failed to get interrupt resource\n");
@@ -335,18 +328,16 @@ static int at91_rtc_probe(struct platform_device *pdev)
                device_init_wakeup(&pdev->dev, 1);
 
        platform_set_drvdata(pdev, rtc);
-       rtc->rtt = devm_ioremap(&pdev->dev, r->start, resource_size(r));
-       if (!rtc->rtt) {
-               dev_err(&pdev->dev, "failed to map registers, aborting.\n");
-               return -ENOMEM;
-       }
 
-       rtc->gpbr = devm_ioremap(&pdev->dev, r_gpbr->start,
-                               resource_size(r_gpbr));
-       if (!rtc->gpbr) {
-               dev_err(&pdev->dev, "failed to map gpbr registers, aborting.\n");
-               return -ENOMEM;
-       }
+       r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       rtc->rtt = devm_ioremap_resource(&pdev->dev, r);
+       if (IS_ERR(rtc->rtt))
+               return PTR_ERR(rtc->rtt);
+
+       r = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+       rtc->gpbr = devm_ioremap_resource(&pdev->dev, r);
+       if (IS_ERR(rtc->gpbr))
+               return PTR_ERR(rtc->rtt);
 
        mr = rtt_readl(rtc, MR);