public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Zhang, Rui" <rui.zhang@intel.com>
To: "linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>
Cc: "lukasz.luba@arm.com" <lukasz.luba@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>
Subject: Re: [PATCH v3 13/14] thermal: core: Drop unused bind/unbind functions and callbacks
Date: Tue, 20 Aug 2024 07:10:37 +0000	[thread overview]
Message-ID: <6e99b0d7348a2a31cde0b98e1075c4e907d43fe5.camel@intel.com> (raw)
In-Reply-To: <4251116.1IzOArtZ34@rjwysocki.net>

On Mon, 2024-08-19 at 18:31 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> There are no more callers of thermal_zone_bind_cooling_device() and
> thermal_zone_unbind_cooling_device(), so drop them along with all of
> the corresponding headers, code and documentation.
> 
> Moreover, because the .bind() and .unbind() thermal zone callbacks
> would
> only be used when the above functions, respectively, were called,
> drop
> them as well along with all of the code related to them.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Reviewed-by: Zhang Rui <rui.zhang@intel.com>

thanks,
rui

> ---
> 
> v2 -> v3: No changes
> 
> v1 -> v2:
>    * Update the list of thermal zone ops in the documentation.
> 
> ---
>  Documentation/driver-api/thermal/sysfs-api.rst |   59 +-------------
> -----
>  drivers/thermal/thermal_core.c                 |   75 +-------------
> -----------
>  include/linux/thermal.h                        |   10 ---
>  3 files changed, 6 insertions(+), 138 deletions(-)
> 
> Index: linux-pm/drivers/thermal/thermal_core.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_core.c
> +++ linux-pm/drivers/thermal/thermal_core.c
> @@ -878,28 +878,6 @@ free_mem:
>         return result;
>  }
>  
> -int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
> -                                    int trip_index,
> -                                    struct thermal_cooling_device
> *cdev,
> -                                    unsigned long upper, unsigned
> long lower,
> -                                    unsigned int weight)
> -{
> -       int ret;
> -
> -       if (trip_index < 0 || trip_index >= tz->num_trips)
> -               return -EINVAL;
> -
> -       mutex_lock(&tz->lock);
> -
> -       ret = thermal_bind_cdev_to_trip(tz, &tz-
> >trips[trip_index].trip, cdev,
> -                                       upper, lower, weight);
> -
> -       mutex_unlock(&tz->lock);
> -
> -       return ret;
> -}
> -EXPORT_SYMBOL_GPL(thermal_zone_bind_cooling_device);
> -
>  /**
>   * thermal_unbind_cdev_from_trip - unbind a cooling device from a
> thermal zone.
>   * @tz:                pointer to a struct thermal_zone_device.
> @@ -945,25 +923,6 @@ unbind:
>         return 0;
>  }
>  
> -int thermal_zone_unbind_cooling_device(struct thermal_zone_device
> *tz,
> -                                      int trip_index,
> -                                      struct thermal_cooling_device
> *cdev)
> -{
> -       int ret;
> -
> -       if (trip_index < 0 || trip_index >= tz->num_trips)
> -               return -EINVAL;
> -
> -       mutex_lock(&tz->lock);
> -
> -       ret = thermal_unbind_cdev_from_trip(tz, &tz-
> >trips[trip_index].trip, cdev);
> -
> -       mutex_unlock(&tz->lock);
> -
> -       return ret;
> -}
> -EXPORT_SYMBOL_GPL(thermal_zone_unbind_cooling_device);
> -
>  static void thermal_release(struct device *dev)
>  {
>         struct thermal_zone_device *tz;
> @@ -992,14 +951,8 @@ void print_bind_err_msg(struct thermal_z
>                         const struct thermal_trip *trip,
>                         struct thermal_cooling_device *cdev, int ret)
>  {
> -       if (trip) {
> -               dev_err(&tz->device, "binding cdev %s to trip %d
> failed: %d\n",
> -                       cdev->type, thermal_zone_trip_id(tz, trip),
> ret);
> -               return;
> -       }
> -
> -       dev_err(&tz->device, "binding zone %s with cdev %s
> failed:%d\n",
> -               tz->type, cdev->type, ret);
> +       dev_err(&tz->device, "binding cdev %s to trip %d failed:
> %d\n",
> +               cdev->type, thermal_zone_trip_id(tz, trip), ret);
>  }
>  
>  static void thermal_zone_cdev_binding(struct thermal_zone_device
> *tz,
> @@ -1008,18 +961,6 @@ static void thermal_zone_cdev_binding(st
>         struct thermal_trip_desc *td;
>         int ret;
>  
> -       /*
> -        * Old-style binding. The .bind() callback is expected to
> call
> -        * thermal_bind_cdev_to_trip() under the thermal zone lock.
> -        */
> -       if (tz->ops.bind) {
> -               ret = tz->ops.bind(tz, cdev);
> -               if (ret)
> -                       print_bind_err_msg(tz, NULL, cdev, ret);
> -
> -               return;
> -       }
> -
>         if (!tz->ops.should_bind)
>                 return;
>  
> @@ -1346,15 +1287,6 @@ static void thermal_zone_cdev_unbinding(
>  {
>         struct thermal_trip_desc *td;
>  
> -       /*
> -        * Old-style unbinding.  The .unbind callback is expected to
> call
> -        * thermal_unbind_cdev_from_trip() under the thermal zone
> lock.
> -        */
> -       if (tz->ops.unbind) {
> -               tz->ops.unbind(tz, cdev);
> -               return;
> -       }
> -
>         mutex_lock(&tz->lock);
>  
>         for_each_trip_desc(tz, td)
> @@ -1488,8 +1420,7 @@ thermal_zone_device_register_with_trips(
>                 return ERR_PTR(-EINVAL);
>         }
>  
> -       if (!ops || !ops->get_temp || (ops->should_bind && ops->bind)
> ||
> -           (ops->should_bind && ops->unbind)) {
> +       if (!ops || !ops->get_temp) {
>                 pr_err("Thermal zone device ops not defined or
> invalid\n");
>                 return ERR_PTR(-EINVAL);
>         }
> Index: linux-pm/include/linux/thermal.h
> ===================================================================
> --- linux-pm.orig/include/linux/thermal.h
> +++ linux-pm/include/linux/thermal.h
> @@ -92,10 +92,6 @@ struct cooling_spec {
>  };
>  
>  struct thermal_zone_device_ops {
> -       int (*bind) (struct thermal_zone_device *,
> -                    struct thermal_cooling_device *);
> -       int (*unbind) (struct thermal_zone_device *,
> -                      struct thermal_cooling_device *);
>         bool (*should_bind) (struct thermal_zone_device *,
>                              const struct thermal_trip *,
>                              struct thermal_cooling_device *,
> @@ -247,12 +243,6 @@ const char *thermal_zone_device_type(str
>  int thermal_zone_device_id(struct thermal_zone_device *tzd);
>  struct device *thermal_zone_device(struct thermal_zone_device *tzd);
>  
> -int thermal_zone_bind_cooling_device(struct thermal_zone_device *,
> int,
> -                                    struct thermal_cooling_device *,
> -                                    unsigned long, unsigned long,
> -                                    unsigned int);
> -int thermal_zone_unbind_cooling_device(struct thermal_zone_device *,
> int,
> -                                      struct thermal_cooling_device
> *);
>  void thermal_zone_device_update(struct thermal_zone_device *,
>                                 enum thermal_notify_event);
>  
> Index: linux-pm/Documentation/driver-api/thermal/sysfs-api.rst
> ===================================================================
> --- linux-pm.orig/Documentation/driver-api/thermal/sysfs-api.rst
> +++ linux-pm/Documentation/driver-api/thermal/sysfs-api.rst
> @@ -58,10 +58,9 @@ temperature) and throttle appropriate de
>      ops:
>         thermal zone device call-backs.
>  
> -       .bind:
> -               bind the thermal zone device with a thermal cooling
> device.
> -       .unbind:
> -               unbind the thermal zone device with a thermal cooling
> device.
> +       .should_bind:
> +               check whether or not a given cooling device should be
> bound to
> +               a given trip point in this thermal zone.
>         .get_temp:
>                 get the current temperature of the thermal zone.
>         .set_trips:
> @@ -246,56 +245,6 @@ temperature) and throttle appropriate de
>      It deletes the corresponding entry from /sys/class/thermal
> folder and
>      unbinds itself from all the thermal zone devices using it.
>  
> -1.3 interface for binding a thermal zone device with a thermal
> cooling device
> ---------------------------------------------------------------------
> ---------
> -
> -    ::
> -
> -       int thermal_zone_bind_cooling_device(struct
> thermal_zone_device *tz,
> -               int trip, struct thermal_cooling_device *cdev,
> -               unsigned long upper, unsigned long lower, unsigned
> int weight);
> -
> -    This interface function binds a thermal cooling device to a
> particular trip
> -    point of a thermal zone device.
> -
> -    This function is usually called in the thermal zone device .bind
> callback.
> -
> -    tz:
> -         the thermal zone device
> -    cdev:
> -         thermal cooling device
> -    trip:
> -         indicates which trip point in this thermal zone the cooling
> device
> -         is associated with.
> -    upper:
> -         the Maximum cooling state for this trip point.
> -         THERMAL_NO_LIMIT means no upper limit,
> -         and the cooling device can be in max_state.
> -    lower:
> -         the Minimum cooling state can be used for this trip point.
> -         THERMAL_NO_LIMIT means no lower limit,
> -         and the cooling device can be in cooling state 0.
> -    weight:
> -         the influence of this cooling device in this thermal
> -         zone.  See 1.4.1 below for more information.
> -
> -    ::
> -
> -       int thermal_zone_unbind_cooling_device(struct
> thermal_zone_device *tz,
> -                               int trip, struct
> thermal_cooling_device *cdev);
> -
> -    This interface function unbinds a thermal cooling device from a
> particular
> -    trip point of a thermal zone device. This function is usually
> called in
> -    the thermal zone device .unbind callback.
> -
> -    tz:
> -       the thermal zone device
> -    cdev:
> -       thermal cooling device
> -    trip:
> -       indicates which trip point in this thermal zone the cooling
> device
> -       is associated with.
> -
>  1.4 Thermal Zone Parameters
>  ---------------------------
>  
> @@ -366,8 +315,6 @@ Thermal cooling device sys I/F, created
>  
>  Then next two dynamic attributes are created/removed in pairs. They
> represent
>  the relationship between a thermal zone and its associated cooling
> device.
> -They are created/removed for each successful execution of
> -thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device.
>  
>  ::
>  
> 
> 
> 


  reply	other threads:[~2024-08-20  7:10 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-19 15:49 [PATCH v3 00/14] thermal: Rework binding cooling devices to trip points Rafael J. Wysocki
2024-08-19 15:50 ` [PATCH v3 01/14] thermal: core: Fold two functions into their respective callers Rafael J. Wysocki
2024-08-20  7:04   ` Zhang, Rui
2024-08-21  7:57   ` Daniel Lezcano
2024-08-19 15:51 ` [PATCH v3 02/14] thermal: core: Rearrange checks in thermal_bind_cdev_to_trip() Rafael J. Wysocki
2024-08-20  7:05   ` Zhang, Rui
2024-08-21  7:59   ` Daniel Lezcano
2024-08-21  8:49   ` lihuisong (C)
2024-08-21  9:28     ` Daniel Lezcano
2024-08-21  9:44       ` lihuisong (C)
2024-08-21 10:49         ` Daniel Lezcano
2024-08-21 11:22           ` lihuisong (C)
2024-08-21 11:12         ` Rafael J. Wysocki
2024-08-21 10:51     ` Rafael J. Wysocki
2024-08-19 15:52 ` [PATCH v3 03/14] thermal: core: Drop redundant thermal instance checks Rafael J. Wysocki
2024-08-20  7:05   ` Zhang, Rui
2024-08-21  9:32   ` Daniel Lezcano
2024-08-21 11:11     ` Rafael J. Wysocki
2024-08-21 11:56       ` Daniel Lezcano
2024-08-21 12:52         ` Rafael J. Wysocki
2024-08-19 15:56 ` [PATCH v3 04/14] thermal: sysfs: Use the dev argument in instance-related show/store Rafael J. Wysocki
2024-08-20  7:05   ` Zhang, Rui
2024-08-20  7:59   ` lihuisong (C)
2024-08-21  9:36   ` Daniel Lezcano
2024-08-19 15:58 ` [PATCH v3 05/14] thermal: core: Move thermal zone locking out of bind/unbind functions Rafael J. Wysocki
2024-08-20  7:05   ` Zhang, Rui
2024-08-20  8:27   ` lihuisong (C)
2024-08-20 10:27     ` Rafael J. Wysocki
2024-08-21  9:02       ` lihuisong (C)
2024-08-21 10:30         ` Rafael J. Wysocki
2024-08-21  9:46   ` Daniel Lezcano
2024-08-19 16:00 ` [PATCH v3 06/14] thermal: core: Introduce .should_bind() thermal zone callback Rafael J. Wysocki
2024-08-20  7:06   ` Zhang, Rui
2024-08-21  9:09   ` lihuisong (C)
2024-08-21 13:21   ` Daniel Lezcano
2024-08-19 16:02 ` [PATCH v3 07/14] thermal: ACPI: Use the " Rafael J. Wysocki
2024-08-20  7:06   ` Zhang, Rui
2024-08-21 13:22   ` Daniel Lezcano
2024-08-19 16:05 ` [PATCH v3 08/14] thermal: core: Unexport thermal_bind_cdev_to_trip() and thermal_unbind_cdev_from_trip() Rafael J. Wysocki
2024-08-20  7:08   ` Zhang, Rui
2024-08-21  9:18   ` lihuisong (C)
2024-08-21 13:23   ` Daniel Lezcano
2024-08-19 16:19 ` [PATCH v3 09/14] platform/x86: acerhdf: Use the .should_bind() thermal zone callback Rafael J. Wysocki
2024-08-19 20:24   ` Peter Kästle
2024-08-21 13:25   ` Daniel Lezcano
2024-08-19 16:24 ` [PATCH v3 10/14] mlxsw: core_thermal: " Rafael J. Wysocki
2024-08-19 16:26 ` [PATCH v3 11/14] thermal: imx: " Rafael J. Wysocki
2024-08-21 13:42   ` Daniel Lezcano
2024-08-19 16:30 ` [PATCH v3 12/14] thermal/of: " Rafael J. Wysocki
2024-08-21 14:20   ` Daniel Lezcano
2024-08-26 11:31   ` Marek Szyprowski
2024-08-26 12:14     ` Rafael J. Wysocki
2024-08-26 20:49       ` Marek Szyprowski
2024-08-27 11:39         ` Rafael J. Wysocki
2024-08-19 16:31 ` [PATCH v3 13/14] thermal: core: Drop unused bind/unbind functions and callbacks Rafael J. Wysocki
2024-08-20  7:10   ` Zhang, Rui [this message]
2024-08-21  9:33   ` lihuisong (C)
2024-08-21 14:24   ` Daniel Lezcano
2024-08-19 16:33 ` [PATCH v3 14/14] thermal: core: Clean up trip bind/unbind functions Rafael J. Wysocki
2024-08-20  7:11   ` Zhang, Rui
2024-08-21  9:34   ` lihuisong (C)
2024-08-21 14:29   ` Daniel Lezcano
2024-08-21 16:21     ` Rafael J. Wysocki
2024-08-24 18:45 ` [PATCH v3 00/14] thermal: Rework binding cooling devices to trip points Nícolas F. R. A. Prado
2024-08-26  9:58   ` Rafael J. Wysocki
2024-08-30 13:55     ` Nícolas F. R. A. Prado

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=6e99b0d7348a2a31cde0b98e1075c4e907d43fe5.camel@intel.com \
    --to=rui.zhang@intel.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=rjw@rjwysocki.net \
    /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