diff options
author | Jingoo Han <jg1.han@samsung.com> | 2014-02-11 21:10:50 +0900 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2014-03-03 08:01:03 -0800 |
commit | 939a0a3fe900125c1e04dc7121444f8f9972892c (patch) | |
tree | 752550358af67f945ad8baa70b6d1b6d232b88bb /drivers/hwmon/jz4740-hwmon.c | |
parent | 6700ce035f830149d48c270d84736debfb67179e (diff) | |
download | linux-939a0a3fe900125c1e04dc7121444f8f9972892c.tar.gz linux-939a0a3fe900125c1e04dc7121444f8f9972892c.tar.bz2 linux-939a0a3fe900125c1e04dc7121444f8f9972892c.zip |
hwmon: (jz4740) Use devm_ioremap_resource()
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>
Diffstat (limited to 'drivers/hwmon/jz4740-hwmon.c')
-rw-r--r-- | drivers/hwmon/jz4740-hwmon.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/drivers/hwmon/jz4740-hwmon.c b/drivers/hwmon/jz4740-hwmon.c index a183e488db78..7488e36809c8 100644 --- a/drivers/hwmon/jz4740-hwmon.c +++ b/drivers/hwmon/jz4740-hwmon.c @@ -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); |