rtc: rtc-jz4740: use devm_ioremap_resource()
authorJingoo Han <jg1.han@samsung.com>
Thu, 3 Apr 2014 21:49:50 +0000 (14:49 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Apr 2014 23:21:19 +0000 (16:21 -0700)
Use devm_ioremap_resource() in order to make the code simpler, and move
'struct resource *mem' from 'struct jz4740_rtc' to jz4740_rtc_probe()
because the 'mem' variable is used only in jz4740_rtc_probe().  Also the
redundant return value check of platform_get_resource() is removed,
because the value is checked by devm_ioremap_resource().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-jz4740.c

index 1b126d2513de9978df1b2a5e4018b8f86733ffe6..08f5160fb6d4bf1bc7e5dc82ffa256d07e1aea42 100644 (file)
@@ -38,7 +38,6 @@
 #define JZ_RTC_CTRL_ENABLE     BIT(0)
 
 struct jz4740_rtc {
-       struct resource *mem;
        void __iomem *base;
 
        struct rtc_device *rtc;
@@ -216,6 +215,7 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
        int ret;
        struct jz4740_rtc *rtc;
        uint32_t scratchpad;
+       struct resource *mem;
 
        rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
        if (!rtc)
@@ -227,25 +227,10 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
                return -ENOENT;
        }
 
-       rtc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!rtc->mem) {
-               dev_err(&pdev->dev, "Failed to get platform mmio memory\n");
-               return -ENOENT;
-       }
-
-       rtc->mem = devm_request_mem_region(&pdev->dev, rtc->mem->start,
-                                       resource_size(rtc->mem), pdev->name);
-       if (!rtc->mem) {
-               dev_err(&pdev->dev, "Failed to request mmio memory region\n");
-               return -EBUSY;
-       }
-
-       rtc->base = devm_ioremap_nocache(&pdev->dev, rtc->mem->start,
-                                       resource_size(rtc->mem));
-       if (!rtc->base) {
-               dev_err(&pdev->dev, "Failed to ioremap mmio memory\n");
-               return -EBUSY;
-       }
+       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       rtc->base = devm_ioremap_resource(&pdev->dev, mem);
+       if (IS_ERR(rtc->base))
+               return PTR_ERR(rtc->base);
 
        spin_lock_init(&rtc->lock);