aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/exynos_adc.c
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-07-22 07:02:00 -0400
committerJonathan Cameron <jic23@kernel.org>2013-08-03 13:40:42 -0400
commitebeb021af29826fe44818f986c898f3e41a4f77c (patch)
tree16d060130c816cae5250448276aa74e4941ebd7c /drivers/iio/adc/exynos_adc.c
parentf88375322d46e66a9e0983070b9970853d951fd6 (diff)
iio: exynos_adc: Use devm_iio_device_alloc
Using devm_iio_device_alloc makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/adc/exynos_adc.c')
-rw-r--r--drivers/iio/adc/exynos_adc.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
index 9809fc9a35d2..d25b262193a7 100644
--- a/drivers/iio/adc/exynos_adc.c
+++ b/drivers/iio/adc/exynos_adc.c
@@ -33,6 +33,7 @@
33#include <linux/of_irq.h> 33#include <linux/of_irq.h>
34#include <linux/regulator/consumer.h> 34#include <linux/regulator/consumer.h>
35#include <linux/of_platform.h> 35#include <linux/of_platform.h>
36#include <linux/err.h>
36 37
37#include <linux/iio/iio.h> 38#include <linux/iio/iio.h>
38#include <linux/iio/machine.h> 39#include <linux/iio/machine.h>
@@ -261,7 +262,7 @@ static int exynos_adc_probe(struct platform_device *pdev)
261 if (!np) 262 if (!np)
262 return ret; 263 return ret;
263 264
264 indio_dev = iio_device_alloc(sizeof(struct exynos_adc)); 265 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(struct exynos_adc));
265 if (!indio_dev) { 266 if (!indio_dev) {
266 dev_err(&pdev->dev, "failed allocating iio device\n"); 267 dev_err(&pdev->dev, "failed allocating iio device\n");
267 return -ENOMEM; 268 return -ENOMEM;
@@ -271,23 +272,18 @@ static int exynos_adc_probe(struct platform_device *pdev)
271 272
272 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 273 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
273 info->regs = devm_ioremap_resource(&pdev->dev, mem); 274 info->regs = devm_ioremap_resource(&pdev->dev, mem);
274 if (IS_ERR(info->regs)) { 275 if (IS_ERR(info->regs))
275 ret = PTR_ERR(info->regs); 276 return PTR_ERR(info->regs);
276 goto err_iio;
277 }
278 277
279 mem = platform_get_resource(pdev, IORESOURCE_MEM, 1); 278 mem = platform_get_resource(pdev, IORESOURCE_MEM, 1);
280 info->enable_reg = devm_ioremap_resource(&pdev->dev, mem); 279 info->enable_reg = devm_ioremap_resource(&pdev->dev, mem);
281 if (IS_ERR(info->enable_reg)) { 280 if (IS_ERR(info->enable_reg))
282 ret = PTR_ERR(info->enable_reg); 281 return PTR_ERR(info->enable_reg);
283 goto err_iio;
284 }
285 282
286 irq = platform_get_irq(pdev, 0); 283 irq = platform_get_irq(pdev, 0);
287 if (irq < 0) { 284 if (irq < 0) {
288 dev_err(&pdev->dev, "no irq resource?\n"); 285 dev_err(&pdev->dev, "no irq resource?\n");
289 ret = irq; 286 return irq;
290 goto err_iio;
291 } 287 }
292 288
293 info->irq = irq; 289 info->irq = irq;
@@ -299,7 +295,7 @@ static int exynos_adc_probe(struct platform_device *pdev)
299 if (ret < 0) { 295 if (ret < 0) {
300 dev_err(&pdev->dev, "failed requesting irq, irq = %d\n", 296 dev_err(&pdev->dev, "failed requesting irq, irq = %d\n",
301 info->irq); 297 info->irq);
302 goto err_iio; 298 return ret;
303 } 299 }
304 300
305 writel(1, info->enable_reg); 301 writel(1, info->enable_reg);
@@ -365,8 +361,6 @@ err_iio_dev:
365 iio_device_unregister(indio_dev); 361 iio_device_unregister(indio_dev);
366err_irq: 362err_irq:
367 free_irq(info->irq, info); 363 free_irq(info->irq, info);
368err_iio:
369 iio_device_free(indio_dev);
370 return ret; 364 return ret;
371} 365}
372 366
@@ -382,7 +376,6 @@ static int exynos_adc_remove(struct platform_device *pdev)
382 writel(0, info->enable_reg); 376 writel(0, info->enable_reg);
383 iio_device_unregister(indio_dev); 377 iio_device_unregister(indio_dev);
384 free_irq(info->irq, info); 378 free_irq(info->irq, info);
385 iio_device_free(indio_dev);
386 379
387 return 0; 380 return 0;
388} 381}