Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755831AbdIGSSl (ORCPT ); Thu, 7 Sep 2017 14:18:41 -0400 Received: from mail-wm0-f47.google.com ([74.125.82.47]:36176 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752576AbdIGSSj (ORCPT ); Thu, 7 Sep 2017 14:18:39 -0400 X-Google-Smtp-Source: AOwi7QD7E3GyFdzDYYgzdc3P/VMjZPZl8sr1QxMWcKeOOlBrya6F+9I/0lOVq+nBpVv/8i6bXSxamQ== From: Daniel Lezcano To: edubezval@gmail.com, ldewangan@nvidia.com Cc: linux-pm@vger.kernel.org, Zhang Rui , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] thermal/drivers/generic-iio-adc: Switch tz request to devm version Date: Thu, 7 Sep 2017 20:17:10 +0200 Message-Id: <1504808230-12288-1-git-send-email-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1740 Lines: 56 Everything mentionned here: https://lkml.org/lkml/2016/4/20/850 This driver was added before the devm_iio_channel_get() function version was merged. The sensor should be released before the iio channel, thus we had to use the non-devm version of thermal_zone_of_sensor_register(). Now the devm_iio_channel_get() is available, do the corresponding change in this driver. [Compiled tested only] Signed-off-by: Daniel Lezcano --- drivers/thermal/thermal-generic-adc.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/thermal/thermal-generic-adc.c b/drivers/thermal/thermal-generic-adc.c index 73f55d6..71d0365 100644 --- a/drivers/thermal/thermal-generic-adc.c +++ b/drivers/thermal/thermal-generic-adc.c @@ -126,28 +126,23 @@ static int gadc_thermal_probe(struct platform_device *pdev) gti->dev = &pdev->dev; platform_set_drvdata(pdev, gti); - gti->channel = iio_channel_get(&pdev->dev, "sensor-channel"); + gti->channel = devm_iio_channel_get(&pdev->dev, "sensor-channel"); if (IS_ERR(gti->channel)) { ret = PTR_ERR(gti->channel); dev_err(&pdev->dev, "IIO channel not found: %d\n", ret); return ret; } - gti->tz_dev = thermal_zone_of_sensor_register(&pdev->dev, 0, - gti, &gadc_thermal_ops); + gti->tz_dev = devm_thermal_zone_of_sensor_register(&pdev->dev, 0, gti, + &gadc_thermal_ops); if (IS_ERR(gti->tz_dev)) { ret = PTR_ERR(gti->tz_dev); dev_err(&pdev->dev, "Thermal zone sensor register failed: %d\n", ret); - goto sensor_fail; + return ret; } return 0; - -sensor_fail: - iio_channel_release(gti->channel); - - return ret; } static int gadc_thermal_remove(struct platform_device *pdev) -- 2.7.4