This patch changes APIs from request_irq() and iio_device_register() to devm_* APIs. Using them, make code simpler. Signed-off-by: Beomho Seo <beomho.seo@xxxxxxxxxxx> --- drivers/iio/adc/exynos_adc.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c index d325aea..37b6eb5 100644 --- a/drivers/iio/adc/exynos_adc.c +++ b/drivers/iio/adc/exynos_adc.c @@ -337,7 +337,7 @@ static int exynos_adc_probe(struct platform_device *pdev) else indio_dev->num_channels = MAX_ADC_V2_CHANNELS; - ret = request_irq(info->irq, exynos_adc_isr, + ret = devm_request_irq(&pdev->dev, info->irq, exynos_adc_isr, 0, dev_name(&pdev->dev), info); if (ret < 0) { dev_err(&pdev->dev, "failed requesting irq, irq = %d\n", @@ -345,9 +345,9 @@ static int exynos_adc_probe(struct platform_device *pdev) goto err_disable_clk; } - ret = iio_device_register(indio_dev); + ret = devm_iio_device_register(&pdev->dev, indio_dev); if (ret) - goto err_irq; + goto err_disable_clk; exynos_adc_hw_init(info); @@ -362,9 +362,6 @@ static int exynos_adc_probe(struct platform_device *pdev) err_of_populate: device_for_each_child(&pdev->dev, NULL, exynos_adc_remove_devices); - iio_device_unregister(indio_dev); -err_irq: - free_irq(info->irq, info); err_disable_clk: writel(0, info->enable_reg); clk_disable_unprepare(info->clk); @@ -380,8 +377,6 @@ static int exynos_adc_remove(struct platform_device *pdev) device_for_each_child(&pdev->dev, NULL, exynos_adc_remove_devices); - iio_device_unregister(indio_dev); - free_irq(info->irq, info); writel(0, info->enable_reg); clk_disable_unprepare(info->clk); regulator_disable(info->vdd); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html