Re: [PATCH v1] thermal: core: Drop unused .get_trip_*() callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 25, 2023 at 6:17 PM Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:
>
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> After recent changes in the ACPI thermal driver and in the Intel DTS
> IOSF thermal driver, all thermal zone drivers are expected to use trip
> tables for initialization and none of them should implement
> .get_trip_type(), .get_trip_temp() or .get_trip_hyst() callbacks, so
> drop these callbacks entirely from the core.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
>  drivers/thermal/thermal_core.c |    2 +-
>  drivers/thermal/thermal_trip.c |   22 +++-------------------
>  include/linux/thermal.h        |    4 ----
>  3 files changed, 4 insertions(+), 24 deletions(-)
>
> Index: linux-pm/include/linux/thermal.h
> ===================================================================
> --- linux-pm.orig/include/linux/thermal.h
> +++ linux-pm/include/linux/thermal.h
> @@ -76,11 +76,7 @@ struct thermal_zone_device_ops {
>         int (*set_trips) (struct thermal_zone_device *, int, int);
>         int (*change_mode) (struct thermal_zone_device *,
>                 enum thermal_device_mode);
> -       int (*get_trip_type) (struct thermal_zone_device *, int,
> -               enum thermal_trip_type *);
> -       int (*get_trip_temp) (struct thermal_zone_device *, int, int *);
>         int (*set_trip_temp) (struct thermal_zone_device *, int, int);
> -       int (*get_trip_hyst) (struct thermal_zone_device *, int, int *);
>         int (*set_trip_hyst) (struct thermal_zone_device *, int, int);
>         int (*get_crit_temp) (struct thermal_zone_device *, int *);
>         int (*set_emul_temp) (struct thermal_zone_device *, int);
> Index: linux-pm/drivers/thermal/thermal_trip.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_trip.c
> +++ linux-pm/drivers/thermal/thermal_trip.c
> @@ -118,27 +118,11 @@ int __thermal_zone_get_trip(struct therm
>  {
>         int ret;

The above needs to be dropped from this function too, but I'll fix it
up when applying the patch.

Hopefully, that will be fine with everyone.

>
> -       if (!tz || trip_id < 0 || trip_id >= tz->num_trips || !trip)
> +       if (!tz || !tz->trips || trip_id < 0 || trip_id >= tz->num_trips || !trip)
>                 return -EINVAL;
>
> -       if (tz->trips) {
> -               *trip = tz->trips[trip_id];
> -               return 0;
> -       }
> -
> -       if (tz->ops->get_trip_hyst) {
> -               ret = tz->ops->get_trip_hyst(tz, trip_id, &trip->hysteresis);
> -               if (ret)
> -                       return ret;
> -       } else {
> -               trip->hysteresis = 0;
> -       }
> -
> -       ret = tz->ops->get_trip_temp(tz, trip_id, &trip->temperature);
> -       if (ret)
> -               return ret;
> -
> -       return tz->ops->get_trip_type(tz, trip_id, &trip->type);
> +       *trip = tz->trips[trip_id];
> +       return 0;
>  }
>  EXPORT_SYMBOL_GPL(__thermal_zone_get_trip);
>
> Index: linux-pm/drivers/thermal/thermal_core.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_core.c
> +++ linux-pm/drivers/thermal/thermal_core.c
> @@ -1266,7 +1266,7 @@ thermal_zone_device_register_with_trips(
>                 return ERR_PTR(-EINVAL);
>         }
>
> -       if (num_trips > 0 && (!ops->get_trip_type || !ops->get_trip_temp) && !trips)
> +       if (num_trips > 0 && !trips)
>                 return ERR_PTR(-EINVAL);
>
>         if (!thermal_class)
>
>
>



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux