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....@samsung.com>
---
 drivers/rtc/rtc-coh901331.c |   18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
index 73f1575..869cae2 100644
--- a/drivers/rtc/rtc-coh901331.c
+++ b/drivers/rtc/rtc-coh901331.c
@@ -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,
-- 
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