On Mon, 2023-03-13 at 15:28 +0100, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > 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@xxxxxxxxx> Tested-by: Zhang Rui <rui.zhang@xxxxxxxxx> Reviewed-by: Zhang Rui <rui.zhang@xxxxxxxxx> 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 */ > > >