hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_register
authorEduardo Valentin <edubezval@gmail.com>
Wed, 9 Mar 2016 21:02:22 +0000 (13:02 -0800)
committerEduardo Valentin <edubezval@gmail.com>
Tue, 17 May 2016 14:28:25 +0000 (07:28 -0700)
This changes the driver to use the devm_ version
of thermal_zone_of_sensor_register and cleans
up the  local points and unregister calls.

Cc: Jean Delvare <jdelvare@suse.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: lm-sensors@lm-sensors.org
Cc: linux-kernel@vger.kernel.org
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/hwmon/ntc_thermistor.c

index faa6e8d..8ef7b71 100644 (file)
@@ -259,7 +259,6 @@ struct ntc_data {
        struct device *dev;
        int n_comp;
        char name[PLATFORM_NAME_SIZE];
-       struct thermal_zone_device *tz;
 };
 
 #if defined(CONFIG_OF) && IS_ENABLED(CONFIG_IIO)
@@ -579,6 +578,7 @@ static const struct thermal_zone_of_device_ops ntc_of_thermal_ops = {
 
 static int ntc_thermistor_probe(struct platform_device *pdev)
 {
+       struct thermal_zone_device *tz;
        const struct of_device_id *of_id =
                        of_match_device(of_match_ptr(ntc_match), &pdev->dev);
        const struct platform_device_id *pdev_id;
@@ -677,12 +677,10 @@ static int ntc_thermistor_probe(struct platform_device *pdev)
        dev_info(&pdev->dev, "Thermistor type: %s successfully probed.\n",
                                                                pdev_id->name);
 
-       data->tz = thermal_zone_of_sensor_register(data->dev, 0, data->dev,
-                                                  &ntc_of_thermal_ops);
-       if (IS_ERR(data->tz)) {
+       tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
+                                                 &ntc_of_thermal_ops);
+       if (IS_ERR(tz))
                dev_dbg(&pdev->dev, "Failed to register to thermal fw.\n");
-               data->tz = NULL;
-       }
 
        return 0;
 err_after_sysfs:
@@ -700,8 +698,6 @@ static int ntc_thermistor_remove(struct platform_device *pdev)
        sysfs_remove_group(&data->dev->kobj, &ntc_attr_group);
        ntc_iio_channel_release(pdata);
 
-       thermal_zone_of_sensor_unregister(data->dev, data->tz);
-
        return 0;
 }