mbox series

[RESEND,v1,0/8] thermal: Use trip pointers in thermal driver interface

Message ID 2211925.irdbgypaU6@rjwysocki.net
Headers show
Series thermal: Use trip pointers in thermal driver interface | expand

Message

Rafael J. Wysocki July 29, 2024, 3:50 p.m. UTC
Hi Everyone,

This material has been sent already:

https://lore.kernel.org/linux-pm/8409966.T7Z3S40VBb@kreacher/

but it has not got any traction, so resending it and I will assume no concerns
if there is still no response.

This series modifies a few drivers to stop using trip IDs in its
interactions with the core, which requires making assumptions
regarding trip ordering that may not be met in the future, and
there are other ways to do so that are preferred.

Having done that, it removes a few core functions that have no more users.

Thanks!

Comments

Florian Fainelli July 29, 2024, 9:54 p.m. UTC | #1
On 7/29/24 08:53, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Modify the bcm2835 thermal driver to use thermal_zone_get_crit_temp() in
> bcm2835_thermal_probe() instead of relying on the assumption that the
> critical trip index will always be 0.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Niklas Söderlund July 30, 2024, 10:37 a.m. UTC | #2
Hi Rafael,

Thanks for your work.

On 2024-07-29 18:11:29 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> The only existing caller of thermal_zone_get_num_trips(), which is
> rcar_gen3_thermal_probe(), uses this function to put the number of
> trip points into a kernel log message, but this information is also
> available from the thermal sysfs interface.
> 
> For this reason, remove the thermal_zone_get_num_trips() call from
> rcar_gen3_thermal_probe() and drop the former altogether.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> ---
> 
> A new version, based on the discussion following the v1:
> 
> https://lore.kernel.org/linux-pm/20240617183949.GO382677@ragnatech.se/
> 
> The Renesas driver change does not depend on the previous patches
> in the series.
> 
> ---
>  drivers/thermal/renesas/rcar_gen3_thermal.c |    6 +-----
>  drivers/thermal/thermal_trip.c              |    6 ------
>  include/linux/thermal.h                     |    1 -
>  3 files changed, 1 insertion(+), 12 deletions(-)
> 
> Index: linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/renesas/rcar_gen3_thermal.c
> +++ linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
> @@ -563,11 +563,7 @@ static int rcar_gen3_thermal_probe(struc
>  		if (ret)
>  			goto error_unregister;
>  
> -		ret = thermal_zone_get_num_trips(tsc->zone);
> -		if (ret < 0)
> -			goto error_unregister;
> -
> -		dev_info(dev, "Sensor %u: Loaded %d trip points\n", i, ret);
> +		dev_info(dev, "Sensor %u: Loaded\n", i);
>  	}
>  
>  	if (!priv->num_tscs) {
> Index: linux-pm/drivers/thermal/thermal_trip.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_trip.c
> +++ linux-pm/drivers/thermal/thermal_trip.c
> @@ -55,12 +55,6 @@ int thermal_zone_for_each_trip(struct th
>  }
>  EXPORT_SYMBOL_GPL(thermal_zone_for_each_trip);
>  
> -int thermal_zone_get_num_trips(struct thermal_zone_device *tz)
> -{
> -	return tz->num_trips;
> -}
> -EXPORT_SYMBOL_GPL(thermal_zone_get_num_trips);
> -
>  /**
>   * thermal_zone_set_trips - Computes the next trip points for the driver
>   * @tz: a pointer to a thermal zone device structure
> Index: linux-pm/include/linux/thermal.h
> ===================================================================
> --- linux-pm.orig/include/linux/thermal.h
> +++ linux-pm/include/linux/thermal.h
> @@ -210,7 +210,6 @@ int for_each_thermal_trip(struct thermal
>  int thermal_zone_for_each_trip(struct thermal_zone_device *tz,
>  			       int (*cb)(struct thermal_trip *, void *),
>  			       void *data);
> -int thermal_zone_get_num_trips(struct thermal_zone_device *tz);
>  void thermal_zone_set_trip_temp(struct thermal_zone_device *tz,
>  				struct thermal_trip *trip, int temp);
>  
> 
> 
>