hwmon: (jz4740) Use devm_ioremap_resource()
authorJingoo Han <jg1.han@samsung.com>
Tue, 11 Feb 2014 12:10:50 +0000 (21:10 +0900)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 3 Mar 2014 16:01:03 +0000 (08:01 -0800)
Use devm_ioremap_resource() in order to make the code simpler,
and move 'struct resource *mem' from 'struct jz4740_hwmon' to
jz4740_hwmon_probe() because the 'mem' variable is used only in
jz4740_hwmon_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>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/jz4740-hwmon.c

index a183e488db78ba2531f349c688ff0283764f2578..7488e36809c87605e52beec263357e05eca1c4a5 100644 (file)
@@ -28,7 +28,6 @@
 #include <linux/hwmon.h>
 
 struct jz4740_hwmon {
-       struct resource *mem;
        void __iomem *base;
 
        int irq;
@@ -106,6 +105,7 @@ static int jz4740_hwmon_probe(struct platform_device *pdev)
 {
        int ret;
        struct jz4740_hwmon *hwmon;
+       struct resource *mem;
 
        hwmon = devm_kzalloc(&pdev->dev, sizeof(*hwmon), GFP_KERNEL);
        if (!hwmon)
@@ -120,25 +120,10 @@ static int jz4740_hwmon_probe(struct platform_device *pdev)
                return hwmon->irq;
        }
 
-       hwmon->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!hwmon->mem) {
-               dev_err(&pdev->dev, "Failed to get platform mmio resource\n");
-               return -ENOENT;
-       }
-
-       hwmon->mem = devm_request_mem_region(&pdev->dev, hwmon->mem->start,
-                       resource_size(hwmon->mem), pdev->name);
-       if (!hwmon->mem) {
-               dev_err(&pdev->dev, "Failed to request mmio memory region\n");
-               return -EBUSY;
-       }
-
-       hwmon->base = devm_ioremap_nocache(&pdev->dev, hwmon->mem->start,
-                                          resource_size(hwmon->mem));
-       if (!hwmon->base) {
-               dev_err(&pdev->dev, "Failed to ioremap mmio memory\n");
-               return -EBUSY;
-       }
+       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       hwmon->base = devm_ioremap_resource(&pdev->dev, mem);
+       if (IS_ERR(hwmon->base))
+               return PTR_ERR(hwmon->base);
 
        init_completion(&hwmon->read_completion);
        mutex_init(&hwmon->lock);