linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] thermal/drivers/imx: Remove get_trip_temp ops
@ 2023-03-08 21:48 Daniel Lezcano
  2023-03-08 21:48 ` [PATCH 2/2] thermal/drivers/imx: Use the thermal framework for the trip point Daniel Lezcano
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Lezcano @ 2023-03-08 21:48 UTC (permalink / raw)
  To: daniel.lezcano, rafael
  Cc: linux-pm, linux-kernel, Amit Kucheria, Zhang Rui, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

The i.MX thermal sensor uses the generic trip points. The thermal
framework can return the critical temperature directly.

Remove the pointless get_trip_temp ops.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/thermal/imx_thermal.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
index c3136978adee..69ed482167f7 100644
--- a/drivers/thermal/imx_thermal.c
+++ b/drivers/thermal/imx_thermal.c
@@ -330,13 +330,6 @@ static int imx_change_mode(struct thermal_zone_device *tz,
 	return 0;
 }
 
-static int imx_get_crit_temp(struct thermal_zone_device *tz, int *temp)
-{
-	*temp = trips[IMX_TRIP_CRITICAL].temperature;
-
-	return 0;
-}
-
 static int imx_set_trip_temp(struct thermal_zone_device *tz, int trip,
 			     int temp)
 {
@@ -384,7 +377,6 @@ static struct thermal_zone_device_ops imx_tz_ops = {
 	.unbind = imx_unbind,
 	.get_temp = imx_get_temp,
 	.change_mode = imx_change_mode,
-	.get_crit_temp = imx_get_crit_temp,
 	.set_trip_temp = imx_set_trip_temp,
 };
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] thermal/drivers/imx: Use the thermal framework for the trip point
  2023-03-08 21:48 [PATCH 1/2] thermal/drivers/imx: Remove get_trip_temp ops Daniel Lezcano
@ 2023-03-08 21:48 ` Daniel Lezcano
  2023-03-09  1:11   ` Fabio Estevam
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Lezcano @ 2023-03-08 21:48 UTC (permalink / raw)
  To: daniel.lezcano, rafael
  Cc: linux-pm, linux-kernel, Amit Kucheria, Zhang Rui, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

The thermal framework provides an API to get the trip related to a
trip point id. We want to consolidate the generic trip points code,
thus preventing the different drivers to deal with the trip points
after they registered them.

The set_trip_temp ops will be changed regarding the above changes but
first we need to rework a bit the different implementation in the
drivers.

The goal is to prevent using the trip id but use a trip point passed
as parameter which will contain all the needed information.

As we don't have the trip point passed as parameter yet, we get the
trip point using the generic trip thermal framewrok APIs and use it to
take exactly the same decisions.

The difference with this change and the previous code is from where we
get the thermal trip point (which is the same).

No functional change intended.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/thermal/imx_thermal.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
index 69ed482167f7..e4e82bdf34f1 100644
--- a/drivers/thermal/imx_thermal.c
+++ b/drivers/thermal/imx_thermal.c
@@ -330,26 +330,29 @@ static int imx_change_mode(struct thermal_zone_device *tz,
 	return 0;
 }
 
-static int imx_set_trip_temp(struct thermal_zone_device *tz, int trip,
+static int imx_set_trip_temp(struct thermal_zone_device *tz, int trip_id,
 			     int temp)
 {
 	struct imx_thermal_data *data = thermal_zone_device_priv(tz);
+	struct thermal_trip trip;
 	int ret;
 
 	ret = pm_runtime_resume_and_get(data->dev);
 	if (ret < 0)
 		return ret;
 
+	ret = __thermal_zone_get_trip(tz, trip_id, &trip);
+	if (ret)
+		return ret;
+
 	/* do not allow changing critical threshold */
-	if (trip == IMX_TRIP_CRITICAL)
+	if (trip.type == THERMAL_TRIP_CRITICAL)
 		return -EPERM;
-
+	
 	/* do not allow passive to be set higher than critical */
 	if (temp < 0 || temp > trips[IMX_TRIP_CRITICAL].temperature)
 		return -EINVAL;
 
-	trips[IMX_TRIP_PASSIVE].temperature = temp;
-
 	imx_set_alarm_temp(data, temp);
 
 	pm_runtime_put(data->dev);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] thermal/drivers/imx: Use the thermal framework for the trip point
  2023-03-08 21:48 ` [PATCH 2/2] thermal/drivers/imx: Use the thermal framework for the trip point Daniel Lezcano
@ 2023-03-09  1:11   ` Fabio Estevam
  2023-03-09  8:52     ` Daniel Lezcano
  0 siblings, 1 reply; 4+ messages in thread
From: Fabio Estevam @ 2023-03-09  1:11 UTC (permalink / raw)
  To: Daniel Lezcano
  Cc: rafael, linux-pm, linux-kernel, Amit Kucheria, Zhang Rui,
	Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, NXP Linux Team,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

Hi Daniel,

On Wed, Mar 8, 2023 at 6:48 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:

>         /* do not allow changing critical threshold */
> -       if (trip == IMX_TRIP_CRITICAL)
> +       if (trip.type == THERMAL_TRIP_CRITICAL)
>                 return -EPERM;
> -
> +

Unrelated change?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] thermal/drivers/imx: Use the thermal framework for the trip point
  2023-03-09  1:11   ` Fabio Estevam
@ 2023-03-09  8:52     ` Daniel Lezcano
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel Lezcano @ 2023-03-09  8:52 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: rafael, linux-pm, linux-kernel, Amit Kucheria, Zhang Rui,
	Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, NXP Linux Team,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

On 09/03/2023 02:11, Fabio Estevam wrote:
> Hi Daniel,
> 
> On Wed, Mar 8, 2023 at 6:48 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> 
>>          /* do not allow changing critical threshold */
>> -       if (trip == IMX_TRIP_CRITICAL)
>> +       if (trip.type == THERMAL_TRIP_CRITICAL)
>>                  return -EPERM;
>> -
>> +
> 
> Unrelated change?

The 'trip' is used as an index and it is checked against 
IMX_TRIP_CRITICAL which is a index in the array also. We replace that 
with the real type of trip point regardless its id.

But the extra line is a tab which was inserted, I will fix it.


-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-03-09  8:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-08 21:48 [PATCH 1/2] thermal/drivers/imx: Remove get_trip_temp ops Daniel Lezcano
2023-03-08 21:48 ` [PATCH 2/2] thermal/drivers/imx: Use the thermal framework for the trip point Daniel Lezcano
2023-03-09  1:11   ` Fabio Estevam
2023-03-09  8:52     ` Daniel Lezcano

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).