[02/13] hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_register
diff mbox

Message ID 1457559336-17652-3-git-send-email-edubezval@gmail.com
State Accepted
Delegated to: Eduardo Valentin
Headers show

Commit Message

Eduardo Valentin March 9, 2016, 9:35 p.m. UTC
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
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
---
 drivers/hwmon/ntc_thermistor.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

Comments

kernel test robot March 10, 2016, 12:14 a.m. UTC | #1
Hi Eduardo,

[auto build test WARNING on soc-thermal/next]
[also build test WARNING on v4.5-rc7 next-20160309]
[cannot apply to thermal/next]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Eduardo-Valentin/thermal-convert-users-of-thermal_zone_of_sensor_register-to-devm_/20160310-054318
base:   https://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal next
config: xtensa-allyesconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   drivers/hwmon/ntc_thermistor.c: In function 'ntc_thermistor_probe':
   drivers/hwmon/ntc_thermistor.c:636:2: error: implicit declaration of function 'devm_thermal_zone_of_sensor_register' [-Werror=implicit-function-declaration]
     tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
     ^
>> drivers/hwmon/ntc_thermistor.c:636:5: warning: assignment makes pointer from integer without a cast
     tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
        ^
   cc1: some warnings being treated as errors

vim +636 drivers/hwmon/ntc_thermistor.c

   620		ret = sysfs_create_group(&data->dev->kobj, &ntc_attr_group);
   621		if (ret) {
   622			dev_err(data->dev, "unable to create sysfs files\n");
   623			return ret;
   624		}
   625	
   626		data->hwmon_dev = hwmon_device_register(data->dev);
   627		if (IS_ERR(data->hwmon_dev)) {
   628			dev_err(data->dev, "unable to register as hwmon device.\n");
   629			ret = PTR_ERR(data->hwmon_dev);
   630			goto err_after_sysfs;
   631		}
   632	
   633		dev_info(&pdev->dev, "Thermistor type: %s successfully probed.\n",
   634									pdev_id->name);
   635	
 > 636		tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
   637							  &ntc_of_thermal_ops);
   638		if (IS_ERR(tz))
   639			dev_dbg(&pdev->dev, "Failed to register to thermal fw.\n");
   640	
   641		return 0;
   642	err_after_sysfs:
   643		sysfs_remove_group(&data->dev->kobj, &ntc_attr_group);
   644		ntc_iio_channel_release(pdata);

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot March 10, 2016, 2:16 a.m. UTC | #2
Hi Eduardo,

[auto build test ERROR on soc-thermal/next]
[also build test ERROR on v4.5-rc7 next-20160309]
[cannot apply to thermal/next]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Eduardo-Valentin/thermal-convert-users-of-thermal_zone_of_sensor_register-to-devm_/20160310-054318
base:   https://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal next
config: xtensa-allyesconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/hwmon/ntc_thermistor.c: In function 'ntc_thermistor_probe':
>> drivers/hwmon/ntc_thermistor.c:636:2: error: implicit declaration of function 'devm_thermal_zone_of_sensor_register' [-Werror=implicit-function-declaration]
     tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
     ^
   drivers/hwmon/ntc_thermistor.c:636:5: warning: assignment makes pointer from integer without a cast
     tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
        ^
   cc1: some warnings being treated as errors

vim +/devm_thermal_zone_of_sensor_register +636 drivers/hwmon/ntc_thermistor.c

   630			goto err_after_sysfs;
   631		}
   632	
   633		dev_info(&pdev->dev, "Thermistor type: %s successfully probed.\n",
   634									pdev_id->name);
   635	
 > 636		tz = devm_thermal_zone_of_sensor_register(data->dev, 0, data->dev,
   637							  &ntc_of_thermal_ops);
   638		if (IS_ERR(tz))
   639			dev_dbg(&pdev->dev, "Failed to register to thermal fw.\n");

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Guenter Roeck March 10, 2016, 3:19 a.m. UTC | #3
On 03/09/2016 01:35 PM, Eduardo Valentin wrote:
> 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
> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> ---
>   drivers/hwmon/ntc_thermistor.c | 12 ++++--------
>   1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c
> index feed306..ffc12f1 100644
> --- a/drivers/hwmon/ntc_thermistor.c
> +++ b/drivers/hwmon/ntc_thermistor.c
> @@ -221,7 +221,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)
> @@ -539,6 +538,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;
> @@ -633,12 +633,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:
> @@ -656,8 +654,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;
>   }
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c
index feed306..ffc12f1 100644
--- a/drivers/hwmon/ntc_thermistor.c
+++ b/drivers/hwmon/ntc_thermistor.c
@@ -221,7 +221,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)
@@ -539,6 +538,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;
@@ -633,12 +633,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:
@@ -656,8 +654,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;
 }