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().

Signed-off-by: Jingoo Han <jg1....@samsung.com>
---
 drivers/rtc/rtc-jz4740.c |   24 +++++++-----------------
 1 file changed, 7 insertions(+), 17 deletions(-)

diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index 1b126d2..717abb3 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -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,15 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
                return -ENOENT;
        }
 
-       rtc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!rtc->mem) {
+       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!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->flags &= ~IORESOURCE_CACHEABLE;
+       rtc->base = devm_ioremap_resource(&pdev->dev, mem);
+       if (IS_ERR(rtc->base))
+               return PTR_ERR(rtc->base);
 
        spin_lock_init(&rtc->lock);
 
-- 
1.7.10.4


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