diff mbox series

[v2,09/26] thermal/drivers/uniphier: Use generic thermal_zone_get_trip() function

Message ID 20220809220436.711020-10-daniel.lezcano@linaro.org (mailing list archive)
State Superseded, archived
Delegated to: Daniel Lezcano
Headers show
Series Rework the trip points creation | expand

Commit Message

Daniel Lezcano Aug. 9, 2022, 10:04 p.m. UTC
The thermal framework gives the possibility to register the trip
points with the thermal zone. When that is done, no get_trip_* ops are
needed and they can be removed.

Convert ops content logic into generic trip points and register them with the
thermal zone.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/thermal/uniphier_thermal.c | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

Comments

Kunihiko Hayashi Aug. 15, 2022, 2:19 p.m. UTC | #1
On 2022/08/10 7:04, Daniel Lezcano wrote:
> The thermal framework gives the possibility to register the trip
> points with the thermal zone. When that is done, no get_trip_* ops are
> needed and they can be removed.
> 
> Convert ops content logic into generic trip points and register them with
> the
> thermal zone.
> 
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>   drivers/thermal/uniphier_thermal.c | 26 +++++++++++---------------
>   1 file changed, 11 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/thermal/uniphier_thermal.c
> b/drivers/thermal/uniphier_thermal.c
> index 4111d99ef50e..1675174480aa 100644
> --- a/drivers/thermal/uniphier_thermal.c
> +++ b/drivers/thermal/uniphier_thermal.c
> @@ -248,8 +248,7 @@ static int uniphier_tm_probe(struct platform_device
> *pdev)
>   	struct regmap *regmap;
>   	struct device_node *parent;
>   	struct uniphier_tm_dev *tdev;
> -	const struct thermal_trip *trips;
> -	int i, ret, irq, ntrips, crit_temp = INT_MAX;
> +	int i, ret, irq, crit_temp = INT_MAX;
>   
>   	tdev = devm_kzalloc(dev, sizeof(*tdev), GFP_KERNEL);
>   	if (!tdev)
> @@ -296,20 +295,17 @@ static int uniphier_tm_probe(struct platform_device
> *pdev)
>   		return PTR_ERR(tdev->tz_dev);
>   	}
>   
> -	/* get trip points */
> -	trips = of_thermal_get_trip_points(tdev->tz_dev);
> -	ntrips = of_thermal_get_ntrips(tdev->tz_dev);
> -	if (ntrips > ALERT_CH_NUM) {
> -		dev_err(dev, "thermal zone has too many trips\n");
> -		return -E2BIG;
> -	}
> -
>   	/* set alert temperatures */
> -	for (i = 0; i < ntrips; i++) {
> -		if (trips[i].type == THERMAL_TRIP_CRITICAL &&
> -		    trips[i].temperature < crit_temp)
> -			crit_temp = trips[i].temperature;
> -		uniphier_tm_set_alert(tdev, i, trips[i].temperature);
> +	for (i = 0; i < thermal_zone_get_num_trips(tdev->tz_dev); i++) {
> +
> +		struct thermal_trip trip;
> +
> +		thermal_zone_get_trip(tdev->tz_dev, i, &trip);
> +		

I found this line has white spaces. Otherwise,

Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

> +		if (trip.type == THERMAL_TRIP_CRITICAL &&
> +		    trip.temperature < crit_temp)
> +			crit_temp = trip.temperature;
> +		uniphier_tm_set_alert(tdev, i, trip.temperature);
>   		tdev->alert_en[i] = true;
>   	}
>   	if (crit_temp > CRITICAL_TEMP_LIMIT) {
> 

---
Best Regards
Kunihiko Hayashi
diff mbox series

Patch

diff --git a/drivers/thermal/uniphier_thermal.c b/drivers/thermal/uniphier_thermal.c
index 4111d99ef50e..1675174480aa 100644
--- a/drivers/thermal/uniphier_thermal.c
+++ b/drivers/thermal/uniphier_thermal.c
@@ -248,8 +248,7 @@  static int uniphier_tm_probe(struct platform_device *pdev)
 	struct regmap *regmap;
 	struct device_node *parent;
 	struct uniphier_tm_dev *tdev;
-	const struct thermal_trip *trips;
-	int i, ret, irq, ntrips, crit_temp = INT_MAX;
+	int i, ret, irq, crit_temp = INT_MAX;
 
 	tdev = devm_kzalloc(dev, sizeof(*tdev), GFP_KERNEL);
 	if (!tdev)
@@ -296,20 +295,17 @@  static int uniphier_tm_probe(struct platform_device *pdev)
 		return PTR_ERR(tdev->tz_dev);
 	}
 
-	/* get trip points */
-	trips = of_thermal_get_trip_points(tdev->tz_dev);
-	ntrips = of_thermal_get_ntrips(tdev->tz_dev);
-	if (ntrips > ALERT_CH_NUM) {
-		dev_err(dev, "thermal zone has too many trips\n");
-		return -E2BIG;
-	}
-
 	/* set alert temperatures */
-	for (i = 0; i < ntrips; i++) {
-		if (trips[i].type == THERMAL_TRIP_CRITICAL &&
-		    trips[i].temperature < crit_temp)
-			crit_temp = trips[i].temperature;
-		uniphier_tm_set_alert(tdev, i, trips[i].temperature);
+	for (i = 0; i < thermal_zone_get_num_trips(tdev->tz_dev); i++) {
+
+		struct thermal_trip trip;
+
+		thermal_zone_get_trip(tdev->tz_dev, i, &trip);
+		
+		if (trip.type == THERMAL_TRIP_CRITICAL &&
+		    trip.temperature < crit_temp)
+			crit_temp = trip.temperature;
+		uniphier_tm_set_alert(tdev, i, trip.temperature);
 		tdev->alert_en[i] = true;
 	}
 	if (crit_temp > CRITICAL_TEMP_LIMIT) {