Messages in this thread Patch in this message | | | From | "Zhang, Rui" <> | Subject | Re: [PATCH v2 2/4] thermal: core: Introduce thermal_cooling_device_present() | Date | Tue, 14 Mar 2023 02:03:13 +0000 |
| |
On Mon, 2023-03-13 at 15:28 +0100, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Introduce a helper function, thermal_cooling_device_present(), for > checking if the given cooling device is in the list of registered > cooling devices to avoid some code duplication in a subsequent > patch. > > No expected functional impact. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Zhang Rui <rui.zhang@intel.com> Reviewed-by: Zhang Rui <rui.zhang@intel.com>
thanks, rui
> --- > > v1 -> v2: No changes > > --- > drivers/thermal/thermal_core.c | 21 +++++++++++++++------ > 1 file changed, 15 insertions(+), 6 deletions(-) > > Index: linux-pm/drivers/thermal/thermal_core.c > =================================================================== > --- linux-pm.orig/drivers/thermal/thermal_core.c > +++ linux-pm/drivers/thermal/thermal_core.c > @@ -1045,6 +1045,18 @@ devm_thermal_of_cooling_device_register( > } > EXPORT_SYMBOL_GPL(devm_thermal_of_cooling_device_register); > > +static bool thermal_cooling_device_present(struct > thermal_cooling_device *cdev) > +{ > + struct thermal_cooling_device *pos = NULL; > + > + list_for_each_entry(pos, &thermal_cdev_list, node) { > + if (pos == cdev) > + return true; > + } > + > + return false; > +} > + > static void __unbind(struct thermal_zone_device *tz, int mask, > struct thermal_cooling_device *cdev) > { > @@ -1067,20 +1079,17 @@ void thermal_cooling_device_unregister(s > int i; > const struct thermal_zone_params *tzp; > struct thermal_zone_device *tz; > - struct thermal_cooling_device *pos = NULL; > > if (!cdev) > return; > > mutex_lock(&thermal_list_lock); > - list_for_each_entry(pos, &thermal_cdev_list, node) > - if (pos == cdev) > - break; > - if (pos != cdev) { > - /* thermal cooling device not found */ > + > + if (!thermal_cooling_device_present(cdev)) { > mutex_unlock(&thermal_list_lock); > return; > } > + > list_del(&cdev->node); > > /* Unbind all thermal zones associated with 'this' cdev */ > > >
| |