From: Guenter Roeck <linux@roeck-us.net>
To: Eduardo Valentin <edubezval@gmail.com>, 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, Jean Delvare <jdelvare@suse.com>
Subject: Re: [PATCH 04/13] hwmon: convert scpi-hwmon to use devm_thermal_zone_of_sensor_register
Date: Wed, 9 Mar 2016 18:29:17 -0800 [thread overview]
Message-ID: <56E0DBFD.7060903@roeck-us.net> (raw)
In-Reply-To: <1457559336-17652-5-git-send-email-edubezval@gmail.com>
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>
> ---
> 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;
return -ENOMEM;
... and drop the unnecessary label.
Thanks,
Guenter
> }
>
> 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);
>
>
next prev parent reply other threads:[~2016-03-10 2:29 UTC|newest]
Thread overview: 39+ 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 ` [PATCH 01/13] hwmon: convert lm75 to use devm_thermal_zone_of_sensor_register Eduardo Valentin
2016-03-10 0:02 ` kbuild test robot
2016-03-10 3:18 ` Guenter Roeck
2016-03-09 21:35 ` [PATCH 02/13] hwmon: convert ntc_thermistor " Eduardo Valentin
2016-03-10 0:14 ` kbuild test robot
2016-03-10 2:16 ` kbuild test robot
2016-03-10 3:19 ` Guenter Roeck
2016-03-09 21:35 ` [PATCH 03/13] hwmon: convert tmp102 " Eduardo Valentin
2016-03-10 3:20 ` Guenter Roeck
2016-03-10 4:43 ` kbuild test robot
2016-03-09 21:35 ` [PATCH 04/13] hwmon: convert scpi-hwmon " Eduardo Valentin
2016-03-10 2:29 ` Guenter Roeck [this message]
2016-03-14 19:49 ` Eduardo Valentin
2016-03-09 21:35 ` [PATCH 05/13] input: convert sun4i-ts " Eduardo Valentin
2016-03-09 21:45 ` Dmitry Torokhov
2016-03-14 21:07 ` Eduardo Valentin
2016-03-10 9:34 ` Sascha Hauer
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 ` [PATCH 07/13] thermal: convert mtk_thermal " Eduardo Valentin
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 ` [PATCH 09/13] thermal: convert rcar_thermal " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 10/13] thermal: convert rockchip_thermal " Eduardo Valentin
2016-03-09 22:23 ` Heiko Stübner
2016-03-10 2:36 ` Caesar Wang
2016-03-09 21:35 ` [PATCH 11/13] thermal: convert exynos " Eduardo Valentin
2016-03-10 0:16 ` Krzysztof Kozlowski
2016-03-14 19:48 ` Eduardo Valentin
2016-03-10 9:16 ` Lukasz Majewski
2016-03-09 21:35 ` [PATCH 12/13] thermal: convert tegra_thermal " Eduardo Valentin
2016-03-10 8:46 ` Wei Ni
2016-03-14 21:16 ` Eduardo Valentin
2016-03-15 5:42 ` Wei Ni
2016-03-09 21:35 ` [PATCH 13/13] hwmon: convert ti-thermal " Eduardo Valentin
2016-03-09 21:35 ` [PATCH 13/13] thermal: " Eduardo Valentin
2016-03-09 22:11 ` kbuild test robot
2016-03-15 12:26 ` 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=56E0DBFD.7060903@roeck-us.net \
--to=linux@roeck-us.net \
--cc=edubezval@gmail.com \
--cc=jdelvare@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).