All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Valentin <edubezval@gmail.com>
To: Rui Zhang <rui.zhang@intel.com>
Cc: Linux PM <linux-pm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	lm-sensors@lm-sensors.org, Eduardo Valentin <edubezval@gmail.com>,
	Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>
Subject: [PATCH 04/13] hwmon: convert scpi-hwmon to use devm_thermal_zone_of_sensor_register
Date: Wed,  9 Mar 2016 13:35:26 -0800	[thread overview]
Message-ID: <1457559336-17652-5-git-send-email-edubezval@gmail.com> (raw)
In-Reply-To: <1457559336-17652-1-git-send-email-edubezval@gmail.com>

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/scpi-hwmon.c | 41 ++++++++---------------------------------
 1 file changed, 8 insertions(+), 33 deletions(-)

diff --git a/drivers/hwmon/scpi-hwmon.c b/drivers/hwmon/scpi-hwmon.c
index 7e20567..2309e47 100644
--- a/drivers/hwmon/scpi-hwmon.c
+++ b/drivers/hwmon/scpi-hwmon.c
@@ -31,10 +31,8 @@ struct sensor_data {
 };
 
 struct scpi_thermal_zone {
-	struct list_head list;
 	int sensor_id;
 	struct scpi_sensors *scpi_sensors;
-	struct thermal_zone_device *tzd;
 };
 
 struct scpi_sensors {
@@ -92,20 +90,6 @@ scpi_show_label(struct device *dev, struct device_attribute *attr, char *buf)
 	return sprintf(buf, "%s\n", sensor->info.name);
 }
 
-static void
-unregister_thermal_zones(struct platform_device *pdev,
-			 struct scpi_sensors *scpi_sensors)
-{
-	struct list_head *pos;
-
-	list_for_each(pos, &scpi_sensors->thermal_zones) {
-		struct scpi_thermal_zone *zone;
-
-		zone = list_entry(pos, struct scpi_thermal_zone, list);
-		thermal_zone_of_sensor_unregister(&pdev->dev, zone->tzd);
-	}
-}
-
 static struct thermal_zone_of_device_ops scpi_sensor_ops = {
 	.get_temp = scpi_read_temp,
 };
@@ -224,6 +208,7 @@ static int scpi_hwmon_probe(struct platform_device *pdev)
 	INIT_LIST_HEAD(&scpi_sensors->thermal_zones);
 	for (i = 0; i < nr_sensors; i++) {
 		struct sensor_data *sensor = &scpi_sensors->data[i];
+		struct thermal_zone_device *z;
 		struct scpi_thermal_zone *zone;
 
 		if (sensor->info.class != TEMPERATURE)
@@ -232,42 +217,33 @@ static int scpi_hwmon_probe(struct platform_device *pdev)
 		zone = devm_kzalloc(dev, sizeof(*zone), GFP_KERNEL);
 		if (!zone) {
 			ret = -ENOMEM;
-			goto unregister_tzd;
+			goto mfail;
 		}
 
 		zone->sensor_id = i;
 		zone->scpi_sensors = scpi_sensors;
-		zone->tzd = thermal_zone_of_sensor_register(dev,
-				sensor->info.sensor_id, zone, &scpi_sensor_ops);
+		z = devm_thermal_zone_of_sensor_register(dev,
+							 sensor->info.sensor_id,
+							 zone,
+							 &scpi_sensor_ops);
 		/*
 		 * The call to thermal_zone_of_sensor_register returns
 		 * an error for sensors that are not associated with
 		 * any thermal zones or if the thermal subsystem is
 		 * not configured.
 		 */
-		if (IS_ERR(zone->tzd)) {
+		if (IS_ERR(z)) {
 			devm_kfree(dev, zone);
 			continue;
 		}
-		list_add(&zone->list, &scpi_sensors->thermal_zones);
 	}
 
 	return 0;
 
-unregister_tzd:
-	unregister_thermal_zones(pdev, scpi_sensors);
+mfail:
 	return ret;
 }
 
-static int scpi_hwmon_remove(struct platform_device *pdev)
-{
-	struct scpi_sensors *scpi_sensors = platform_get_drvdata(pdev);
-
-	unregister_thermal_zones(pdev, scpi_sensors);
-
-	return 0;
-}
-
 static const struct of_device_id scpi_of_match[] = {
 	{.compatible = "arm,scpi-sensors"},
 	{},
@@ -280,7 +256,6 @@ static struct platform_driver scpi_hwmon_platdrv = {
 		.of_match_table = scpi_of_match,
 	},
 	.probe		= scpi_hwmon_probe,
-	.remove		= scpi_hwmon_remove,
 };
 module_platform_driver(scpi_hwmon_platdrv);
 
-- 
2.1.4

WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Valentin <edubezval@gmail.com>
To: Rui Zhang <rui.zhang@intel.com>
Cc: Linux PM <linux-pm@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	lm-sensors@lm-sensors.org, Eduardo Valentin <edubezval@gmail.com>,
	Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>
Subject: [lm-sensors] [PATCH 04/13] hwmon: convert scpi-hwmon to use devm_thermal_zone_of_sensor_register
Date: Wed, 09 Mar 2016 21:35:26 +0000	[thread overview]
Message-ID: <1457559336-17652-5-git-send-email-edubezval@gmail.com> (raw)
In-Reply-To: <1457559336-17652-1-git-send-email-edubezval@gmail.com>

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/scpi-hwmon.c | 41 ++++++++---------------------------------
 1 file changed, 8 insertions(+), 33 deletions(-)

diff --git a/drivers/hwmon/scpi-hwmon.c b/drivers/hwmon/scpi-hwmon.c
index 7e20567..2309e47 100644
--- a/drivers/hwmon/scpi-hwmon.c
+++ b/drivers/hwmon/scpi-hwmon.c
@@ -31,10 +31,8 @@ struct sensor_data {
 };
 
 struct scpi_thermal_zone {
-	struct list_head list;
 	int sensor_id;
 	struct scpi_sensors *scpi_sensors;
-	struct thermal_zone_device *tzd;
 };
 
 struct scpi_sensors {
@@ -92,20 +90,6 @@ scpi_show_label(struct device *dev, struct device_attribute *attr, char *buf)
 	return sprintf(buf, "%s\n", sensor->info.name);
 }
 
-static void
-unregister_thermal_zones(struct platform_device *pdev,
-			 struct scpi_sensors *scpi_sensors)
-{
-	struct list_head *pos;
-
-	list_for_each(pos, &scpi_sensors->thermal_zones) {
-		struct scpi_thermal_zone *zone;
-
-		zone = list_entry(pos, struct scpi_thermal_zone, list);
-		thermal_zone_of_sensor_unregister(&pdev->dev, zone->tzd);
-	}
-}
-
 static struct thermal_zone_of_device_ops scpi_sensor_ops = {
 	.get_temp = scpi_read_temp,
 };
@@ -224,6 +208,7 @@ static int scpi_hwmon_probe(struct platform_device *pdev)
 	INIT_LIST_HEAD(&scpi_sensors->thermal_zones);
 	for (i = 0; i < nr_sensors; i++) {
 		struct sensor_data *sensor = &scpi_sensors->data[i];
+		struct thermal_zone_device *z;
 		struct scpi_thermal_zone *zone;
 
 		if (sensor->info.class != TEMPERATURE)
@@ -232,42 +217,33 @@ static int scpi_hwmon_probe(struct platform_device *pdev)
 		zone = devm_kzalloc(dev, sizeof(*zone), GFP_KERNEL);
 		if (!zone) {
 			ret = -ENOMEM;
-			goto unregister_tzd;
+			goto mfail;
 		}
 
 		zone->sensor_id = i;
 		zone->scpi_sensors = scpi_sensors;
-		zone->tzd = thermal_zone_of_sensor_register(dev,
-				sensor->info.sensor_id, zone, &scpi_sensor_ops);
+		z = devm_thermal_zone_of_sensor_register(dev,
+							 sensor->info.sensor_id,
+							 zone,
+							 &scpi_sensor_ops);
 		/*
 		 * The call to thermal_zone_of_sensor_register returns
 		 * an error for sensors that are not associated with
 		 * any thermal zones or if the thermal subsystem is
 		 * not configured.
 		 */
-		if (IS_ERR(zone->tzd)) {
+		if (IS_ERR(z)) {
 			devm_kfree(dev, zone);
 			continue;
 		}
-		list_add(&zone->list, &scpi_sensors->thermal_zones);
 	}
 
 	return 0;
 
-unregister_tzd:
-	unregister_thermal_zones(pdev, scpi_sensors);
+mfail:
 	return ret;
 }
 
-static int scpi_hwmon_remove(struct platform_device *pdev)
-{
-	struct scpi_sensors *scpi_sensors = platform_get_drvdata(pdev);
-
-	unregister_thermal_zones(pdev, scpi_sensors);
-
-	return 0;
-}
-
 static const struct of_device_id scpi_of_match[] = {
 	{.compatible = "arm,scpi-sensors"},
 	{},
@@ -280,7 +256,6 @@ static struct platform_driver scpi_hwmon_platdrv = {
 		.of_match_table = scpi_of_match,
 	},
 	.probe		= scpi_hwmon_probe,
-	.remove		= scpi_hwmon_remove,
 };
 module_platform_driver(scpi_hwmon_platdrv);
 
-- 
2.1.4


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

  parent reply	other threads:[~2016-03-09 21:36 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-09 21:35 [PATCH 00/13] thermal: convert users of thermal_zone_of_sensor_register to devm_ Eduardo Valentin
2016-03-09 21:35 ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 01/13] hwmon: convert lm75 to use devm_thermal_zone_of_sensor_register Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-10  0:02   ` kbuild test robot
2016-03-10  0:02     ` [lm-sensors] " kbuild test robot
2016-03-10  0:02     ` kbuild test robot
2016-03-10  3:18   ` Guenter Roeck
2016-03-10  3:18     ` [lm-sensors] " Guenter Roeck
2016-03-09 21:35 ` [PATCH 02/13] hwmon: convert ntc_thermistor " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-10  0:14   ` kbuild test robot
2016-03-10  0:14     ` [lm-sensors] [PATCH 02/13] hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_regi kbuild test robot
2016-03-10  0:14     ` [PATCH 02/13] hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_register kbuild test robot
2016-03-10  2:16   ` kbuild test robot
2016-03-10  2:16     ` [lm-sensors] [PATCH 02/13] hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_regi kbuild test robot
2016-03-10  2:16     ` [PATCH 02/13] hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_register kbuild test robot
2016-03-10  3:19   ` Guenter Roeck
2016-03-10  3:19     ` [lm-sensors] [PATCH 02/13] hwmon: convert ntc_thermistor to use devm_thermal_zone_of_sensor_regi Guenter Roeck
2016-03-09 21:35 ` [PATCH 03/13] hwmon: convert tmp102 to use devm_thermal_zone_of_sensor_register Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-10  3:20   ` Guenter Roeck
2016-03-10  3:20     ` [lm-sensors] " Guenter Roeck
2016-03-10  4:43   ` kbuild test robot
2016-03-10  4:43     ` [lm-sensors] " kbuild test robot
2016-03-10  4:43     ` kbuild test robot
2016-03-09 21:35 ` Eduardo Valentin [this message]
2016-03-09 21:35   ` [lm-sensors] [PATCH 04/13] hwmon: convert scpi-hwmon " Eduardo Valentin
2016-03-10  2:29   ` Guenter Roeck
2016-03-10  2:29     ` [lm-sensors] " Guenter Roeck
2016-03-14 19:49     ` Eduardo Valentin
2016-03-14 19:49       ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 05/13] input: convert sun4i-ts " Eduardo Valentin
2016-03-09 21:35   ` Eduardo Valentin
2016-03-09 21:45   ` Dmitry Torokhov
2016-03-09 21:45     ` Dmitry Torokhov
2016-03-14 21:07     ` Eduardo Valentin
2016-03-14 21:07       ` Eduardo Valentin
2016-03-10  9:34   ` Sascha Hauer
2016-03-10  9:34     ` Sascha Hauer
2016-03-10 13:19     ` Hans de Goede
2016-03-10 13:19       ` Hans de Goede
2016-03-09 21:35 ` [PATCH 06/13] thermal: convert hisi_thermal " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 07/13] thermal: convert mtk_thermal " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35   ` Eduardo Valentin
2016-03-09 21:35   ` Eduardo Valentin
2016-03-09 23:18   ` kbuild test robot
2016-03-09 23:18     ` kbuild test robot
2016-03-09 23:18     ` kbuild test robot
2016-03-09 21:35 ` [PATCH 08/13] thermal: convert qcom-spmi " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 09/13] thermal: convert rcar_thermal " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 10/13] thermal: convert rockchip_thermal " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] [PATCH 10/13] thermal: convert rockchip_thermal to use devm_thermal_zone_of_sensor_regi Eduardo Valentin
2016-03-09 21:35   ` [PATCH 10/13] thermal: convert rockchip_thermal to use devm_thermal_zone_of_sensor_register Eduardo Valentin
2016-03-09 21:35   ` Eduardo Valentin
2016-03-09 22:23   ` Heiko Stübner
2016-03-09 22:23     ` [lm-sensors] [PATCH 10/13] thermal: convert rockchip_thermal to use devm_thermal_zone_of_sensor_ Heiko Stübner
2016-03-09 22:23     ` [PATCH 10/13] thermal: convert rockchip_thermal to use devm_thermal_zone_of_sensor_register Heiko Stübner
2016-03-10  2:36   ` Caesar Wang
2016-03-10  2:36     ` [lm-sensors] [PATCH 10/13] thermal: convert rockchip_thermal to use devm_thermal_zone_of_sensor_ Caesar Wang
2016-03-10  2:36     ` [PATCH 10/13] thermal: convert rockchip_thermal to use devm_thermal_zone_of_sensor_register Caesar Wang
2016-03-09 21:35 ` [PATCH 11/13] thermal: convert exynos " Eduardo Valentin
2016-03-09 21:35   ` Eduardo Valentin
2016-03-09 21:35   ` Eduardo Valentin
2016-03-10  0:16   ` Krzysztof Kozlowski
2016-03-10  0:16     ` [lm-sensors] " Krzysztof Kozlowski
2016-03-10  0:16     ` Krzysztof Kozlowski
2016-03-14 19:48     ` Eduardo Valentin
2016-03-14 19:48       ` [lm-sensors] " Eduardo Valentin
2016-03-14 19:48       ` Eduardo Valentin
2016-03-10  9:16   ` Lukasz Majewski
2016-03-10  9:16     ` [lm-sensors] " Lukasz Majewski
2016-03-10  9:16     ` Lukasz Majewski
2016-03-09 21:35 ` [PATCH 12/13] thermal: convert tegra_thermal " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_registe Eduardo Valentin
     [not found]   ` <1457559336-17652-13-git-send-email-edubezval-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-10  8:46     ` [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_register Wei Ni
2016-03-10  8:46       ` [lm-sensors] [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_reg Wei Ni
2016-03-10  8:46       ` [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_register Wei Ni
2016-03-14 21:16       ` Eduardo Valentin
2016-03-14 21:16         ` [lm-sensors] [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_reg Eduardo Valentin
     [not found]         ` <20160314211607.GC4740-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-03-15  5:42           ` [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_register Wei Ni
2016-03-15  5:42             ` [lm-sensors] [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_reg Wei Ni
2016-03-15  5:42             ` [PATCH 12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_register Wei Ni
2016-03-09 21:35 ` [PATCH 13/13] hwmon: convert ti-thermal " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 13/13] thermal: " Eduardo Valentin
2016-03-09 21:35   ` [lm-sensors] " Eduardo Valentin
2016-03-09 22:11   ` kbuild test robot
2016-03-09 22:11     ` [lm-sensors] [PATCH 13/13] thermal: convert ti-thermal to use devm_thermal_zone_of_sensor_regist kbuild test robot
2016-03-09 22:11     ` [PATCH 13/13] thermal: convert ti-thermal to use devm_thermal_zone_of_sensor_register kbuild test robot
2016-03-15 12:26   ` Keerthy
2016-03-15 12:38     ` [lm-sensors] [PATCH 13/13] thermal: convert ti-thermal to use devm_thermal_zone_of_sensor_regist Keerthy
2016-03-15 12:26     ` [PATCH 13/13] thermal: convert ti-thermal to use devm_thermal_zone_of_sensor_register Keerthy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1457559336-17652-5-git-send-email-edubezval@gmail.com \
    --to=edubezval@gmail.com \
    --cc=jdelvare@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lm-sensors@lm-sensors.org \
    --cc=rui.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.