Re: [PATCH v2 2/4] thermal: core: Introduce thermal_cooling_device_present()

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

 



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 */
> 
> 
> 




[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