linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linexp.org>
To: daniel.lezcano@linaro.org, rafael@kernel.org
Cc: rui.zhang@intel.com, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, khilman@baylibre.com,
	abailon@baylibre.com, lukasz.luba@arm.com, broonie@kernel.org,
	damien.lemoal@opensource.wdc.com, heiko@sntech.de,
	hayashi.kunihiko@socionext.com, mhiramat@kernel.org,
	talel@amazon.com, thierry.reding@gmail.com, digetx@gmail.com,
	jonathanh@nvidia.com, anarsoul@gmail.com, tiny.windzz@gmail.com,
	baolin.wang7@gmail.com, f.fainelli@gmail.com,
	bjorn.andersson@linaro.org, mcoquelin.stm32@gmail.com,
	glaroque@baylibre.com, miquel.raynal@bootlin.com,
	shawnguo@kernel.org, niklas.soderlund@ragnatech.se,
	matthias.bgg@gmail.com, j-keerthy@ti.com,
	Andy Gross <agross@kernel.org>, Amit Kucheria <amitk@kernel.org>,
	Thara Gopinath <thara.gopinath@linaro.org>,
	linux-arm-msm@vger.kernel.org (open list:ARM/QUALCOMM SUPPORT)
Subject: [PATCH v4 11/32] thermal/drivers/qcom: Switch to new of API
Date: Mon,  1 Aug 2022 23:22:23 +0200	[thread overview]
Message-ID: <20220801212244.1124867-12-daniel.lezcano@linexp.org> (raw)
In-Reply-To: <20220801212244.1124867-1-daniel.lezcano@linexp.org>

The thermal OF code has a new API allowing to migrate the OF
initialization to a simpler approach. The ops are no longer device
tree specific and are the generic ones provided by the core code.

Convert the ops to the thermal_zone_device_ops format and use the new
API to register the thermal zone with these generic ops.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linexp.org>
---
 drivers/thermal/qcom/qcom-spmi-adc-tm5.c    | 19 +++++++++----------
 drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 12 ++++++------
 drivers/thermal/qcom/tsens.c                | 16 ++++++++--------
 3 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/drivers/thermal/qcom/qcom-spmi-adc-tm5.c b/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
index 073943cbcc2b..add6f40e5e2a 100644
--- a/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
+++ b/drivers/thermal/qcom/qcom-spmi-adc-tm5.c
@@ -357,9 +357,9 @@ static irqreturn_t adc_tm5_gen2_isr(int irq, void *data)
 	return IRQ_HANDLED;
 }
 
-static int adc_tm5_get_temp(void *data, int *temp)
+static int adc_tm5_get_temp(struct thermal_zone_device *tz, int *temp)
 {
-	struct adc_tm5_channel *channel = data;
+	struct adc_tm5_channel *channel = tz->devdata;
 	int ret;
 
 	if (!channel || !channel->iio)
@@ -639,9 +639,9 @@ static int adc_tm5_gen2_configure(struct adc_tm5_channel *channel, int low, int
 	return ret;
 }
 
-static int adc_tm5_set_trips(void *data, int low, int high)
+static int adc_tm5_set_trips(struct thermal_zone_device *tz, int low, int high)
 {
-	struct adc_tm5_channel *channel = data;
+	struct adc_tm5_channel *channel = tz->devdata;
 	struct adc_tm5_chip *chip;
 	int ret;
 
@@ -660,7 +660,7 @@ static int adc_tm5_set_trips(void *data, int low, int high)
 	return ret;
 }
 
-static struct thermal_zone_of_device_ops adc_tm5_thermal_ops = {
+static const struct thermal_zone_device_ops adc_tm5_thermal_ops = {
 	.get_temp = adc_tm5_get_temp,
 	.set_trips = adc_tm5_set_trips,
 };
@@ -672,11 +672,10 @@ static int adc_tm5_register_tzd(struct adc_tm5_chip *adc_tm)
 
 	for (i = 0; i < adc_tm->nchannels; i++) {
 		adc_tm->channels[i].chip = adc_tm;
-
-		tzd = devm_thermal_zone_of_sensor_register(adc_tm->dev,
-							   adc_tm->channels[i].channel,
-							   &adc_tm->channels[i],
-							   &adc_tm5_thermal_ops);
+		tzd = devm_thermal_of_zone_register(adc_tm->dev,
+						    adc_tm->channels[i].channel,
+						    &adc_tm->channels[i],
+						    &adc_tm5_thermal_ops);
 		if (IS_ERR(tzd)) {
 			if (PTR_ERR(tzd) == -ENODEV) {
 				dev_warn(adc_tm->dev, "thermal sensor on channel %d is not used\n",
diff --git a/drivers/thermal/qcom/qcom-spmi-temp-alarm.c b/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
index 770f82cc9bca..be785ab37e53 100644
--- a/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
+++ b/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
@@ -186,9 +186,9 @@ static int qpnp_tm_update_temp_no_adc(struct qpnp_tm_chip *chip)
 	return 0;
 }
 
-static int qpnp_tm_get_temp(void *data, int *temp)
+static int qpnp_tm_get_temp(struct thermal_zone_device *tz, int *temp)
 {
-	struct qpnp_tm_chip *chip = data;
+	struct qpnp_tm_chip *chip = tz->devdata;
 	int ret, mili_celsius;
 
 	if (!temp)
@@ -263,9 +263,9 @@ static int qpnp_tm_update_critical_trip_temp(struct qpnp_tm_chip *chip,
 	return qpnp_tm_write(chip, QPNP_TM_REG_SHUTDOWN_CTRL1, reg);
 }
 
-static int qpnp_tm_set_trip_temp(void *data, int trip, int temp)
+static int qpnp_tm_set_trip_temp(struct thermal_zone_device *tz, int trip, int temp)
 {
-	struct qpnp_tm_chip *chip = data;
+	struct qpnp_tm_chip *chip = tz->devdata;
 	const struct thermal_trip *trip_points;
 	int ret;
 
@@ -283,7 +283,7 @@ static int qpnp_tm_set_trip_temp(void *data, int trip, int temp)
 	return ret;
 }
 
-static const struct thermal_zone_of_device_ops qpnp_tm_sensor_ops = {
+static const struct thermal_zone_device_ops qpnp_tm_sensor_ops = {
 	.get_temp = qpnp_tm_get_temp,
 	.set_trip_temp = qpnp_tm_set_trip_temp,
 };
@@ -446,7 +446,7 @@ static int qpnp_tm_probe(struct platform_device *pdev)
 	 * read the trip points. get_temp() returns the default temperature
 	 * before the hardware initialization is completed.
 	 */
-	chip->tz_dev = devm_thermal_zone_of_sensor_register(
+	chip->tz_dev = devm_thermal_of_zone_register(
 		&pdev->dev, 0, chip, &qpnp_tm_sensor_ops);
 	if (IS_ERR(chip->tz_dev)) {
 		dev_err(&pdev->dev, "failed to register sensor\n");
diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index e49f58e83513..b1b10005fb28 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -532,9 +532,9 @@ static irqreturn_t tsens_irq_thread(int irq, void *data)
 	return IRQ_HANDLED;
 }
 
-static int tsens_set_trips(void *_sensor, int low, int high)
+static int tsens_set_trips(struct thermal_zone_device *tz, int low, int high)
 {
-	struct tsens_sensor *s = _sensor;
+	struct tsens_sensor *s = tz->devdata;
 	struct tsens_priv *priv = s->priv;
 	struct device *dev = priv->dev;
 	struct tsens_irq_data d;
@@ -925,9 +925,9 @@ int __init init_common(struct tsens_priv *priv)
 	return ret;
 }
 
-static int tsens_get_temp(void *data, int *temp)
+static int tsens_get_temp(struct thermal_zone_device *tz, int *temp)
 {
-	struct tsens_sensor *s = data;
+	struct tsens_sensor *s = tz->devdata;
 	struct tsens_priv *priv = s->priv;
 
 	return priv->ops->get_temp(s, temp);
@@ -991,7 +991,7 @@ static const struct of_device_id tsens_table[] = {
 };
 MODULE_DEVICE_TABLE(of, tsens_table);
 
-static const struct thermal_zone_of_device_ops tsens_of_ops = {
+static const struct thermal_zone_device_ops tsens_of_ops = {
 	.get_temp = tsens_get_temp,
 	.set_trips = tsens_set_trips,
 };
@@ -1044,9 +1044,9 @@ static int tsens_register(struct tsens_priv *priv)
 
 	for (i = 0;  i < priv->num_sensors; i++) {
 		priv->sensor[i].priv = priv;
-		tzd = devm_thermal_zone_of_sensor_register(priv->dev, priv->sensor[i].hw_id,
-							   &priv->sensor[i],
-							   &tsens_of_ops);
+		tzd = devm_thermal_of_zone_register(priv->dev, priv->sensor[i].hw_id,
+						    &priv->sensor[i],
+						    &tsens_of_ops);
 		if (IS_ERR(tzd))
 			continue;
 		priv->sensor[i].tzd = tzd;
-- 
2.25.1


  parent reply	other threads:[~2022-08-01 21:24 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-01 21:22 [PATCH v4] New thermal OF code Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 01/32] thermal/of: Rework the thermal device tree initialization Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 02/32] thermal/of: Make new code and old code co-exist Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 03/32] thermal/drivers/rockchip: Switch to new of API Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 04/32] thermal/drivers/uniphier: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 05/32] thermal/drivers/generic-adc: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 06/32] thermal/drivers/mmio: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 07/32] thermal/drivers/tegra: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 08/32] thermal/drivers/sun8i: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 09/32] thermal/drivers/sprd: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 10/32] thermal/drivers/broadcom: " Daniel Lezcano
2022-08-01 21:22 ` Daniel Lezcano [this message]
2022-08-02  7:17   ` [PATCH v4 11/32] thermal/drivers/qcom: " Dmitry Baryshkov
2022-08-01 21:22 ` [PATCH v4 12/32] thermal/drivers/st: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 13/32] thermal/drivers/amlogic: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 14/32] thermal/drivers/armada: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 15/32] thermal/drivers/db8500: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 16/32] thermal/drivers/imx: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 17/32] thermal/drivers/rcar: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 18/32] thermal/drivers/rzg2l: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 19/32] thermal/drivers/qoriq: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 20/32] thermal/drivers/mtk: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 21/32] thermal/drivers/banggap: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 22/32] thermal/drivers/maxim: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 23/32] thermal/drivers/hisilicon: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 24/32] thermal/drivers/ti-soc: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 25/32] ata/drivers/ahci_imx: Switch to new of thermal API Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 26/32] hwmon/drivers: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 27/32] iio/drivers/sun4i_gpadc: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 28/32] Input: sun4i-ts - switch " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 29/32] regulator/drivers/max8976: Switch " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 30/32] thermal/drivers/samsung: " Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 31/32] thermal/core: Move set_trip_temp ops to the sysfs code Daniel Lezcano
2022-08-01 21:22 ` [PATCH v4 32/32] thermal/of: Remove old OF code Daniel Lezcano

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=20220801212244.1124867-12-daniel.lezcano@linexp.org \
    --to=daniel.lezcano@linexp.org \
    --cc=abailon@baylibre.com \
    --cc=agross@kernel.org \
    --cc=amitk@kernel.org \
    --cc=anarsoul@gmail.com \
    --cc=baolin.wang7@gmail.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=digetx@gmail.com \
    --cc=f.fainelli@gmail.com \
    --cc=glaroque@baylibre.com \
    --cc=hayashi.kunihiko@socionext.com \
    --cc=heiko@sntech.de \
    --cc=j-keerthy@ti.com \
    --cc=jonathanh@nvidia.com \
    --cc=khilman@baylibre.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mhiramat@kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=rafael@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=shawnguo@kernel.org \
    --cc=talel@amazon.com \
    --cc=thara.gopinath@linaro.org \
    --cc=thierry.reding@gmail.com \
    --cc=tiny.windzz@gmail.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).