rtc: rtc-coh901331: use devm_ioremap_resource()
authorJingoo Han <jg1.han@samsung.com>
Thu, 3 Apr 2014 21:49:47 +0000 (14:49 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Apr 2014 23:21:18 +0000 (16:21 -0700)
Use devm_ioremap_resource() in order to make the code simpler, and
remove redundant return value check of platform_get_resource() because
the value is checked by devm_ioremap_resource().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-coh901331.c

index 73f1575..869cae2 100644 (file)
@@ -43,8 +43,6 @@
 struct coh901331_port {
        struct rtc_device *rtc;
        struct clk *clk;
-       u32 phybase;
-       u32 physize;
        void __iomem *virtbase;
        int irq;
 #ifdef CONFIG_PM_SLEEP
@@ -173,19 +171,9 @@ static int __init coh901331_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -ENOENT;
-
-       rtap->phybase = res->start;
-       rtap->physize = resource_size(res);
-
-       if (devm_request_mem_region(&pdev->dev, rtap->phybase, rtap->physize,
-                                   "rtc-coh901331") == NULL)
-               return -EBUSY;
-
-       rtap->virtbase = devm_ioremap(&pdev->dev, rtap->phybase, rtap->physize);
-       if (!rtap->virtbase)
-               return -ENOMEM;
+       rtap->virtbase  = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(rtap->virtbase))
+               return PTR_ERR(rtap->virtbase);
 
        rtap->irq = platform_get_irq(pdev, 0);
        if (devm_request_irq(&pdev->dev, rtap->irq, coh901331_interrupt, 0,