mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
thermal: core: Introduce thermal_cdev_update_nocheck()
Three thermal governors call __thermal_cdev_update() under the cdev lock without doing any checks, so in order to reduce the related code duplication, introduce a new helper function called thermal_cdev_update_nocheck() for them and make them use it. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/1835097.VLH7GnMWUR@rjwysocki.net Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
This commit is contained in:
parent
c690dce5dc
commit
c597b4e74b
@ -30,9 +30,7 @@ static void bang_bang_set_instance_target(struct thermal_instance *instance,
|
||||
|
||||
dev_dbg(&instance->cdev->device, "target=%ld\n", instance->target);
|
||||
|
||||
mutex_lock(&instance->cdev->lock);
|
||||
__thermal_cdev_update(instance->cdev);
|
||||
mutex_unlock(&instance->cdev->lock);
|
||||
thermal_cdev_update_nocheck(instance->cdev);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -89,9 +89,7 @@ static void fair_share_throttle(struct thermal_zone_device *tz,
|
||||
}
|
||||
instance->target = div_u64(dividend, divisor);
|
||||
|
||||
mutex_lock(&cdev->lock);
|
||||
__thermal_cdev_update(cdev);
|
||||
mutex_unlock(&cdev->lock);
|
||||
thermal_cdev_update_nocheck(cdev);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -322,9 +322,8 @@ power_actor_set_power(struct thermal_cooling_device *cdev,
|
||||
return ret;
|
||||
|
||||
instance->target = clamp_val(state, instance->lower, instance->upper);
|
||||
mutex_lock(&cdev->lock);
|
||||
__thermal_cdev_update(cdev);
|
||||
mutex_unlock(&cdev->lock);
|
||||
|
||||
thermal_cdev_update_nocheck(cdev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -215,6 +215,7 @@ static inline bool cdev_is_power_actor(struct thermal_cooling_device *cdev)
|
||||
}
|
||||
|
||||
void thermal_cdev_update(struct thermal_cooling_device *);
|
||||
void thermal_cdev_update_nocheck(struct thermal_cooling_device *cdev);
|
||||
void __thermal_cdev_update(struct thermal_cooling_device *cdev);
|
||||
|
||||
int get_tz_trend(struct thermal_zone_device *tz, const struct thermal_trip *trip);
|
||||
|
@ -205,6 +205,19 @@ void thermal_cdev_update(struct thermal_cooling_device *cdev)
|
||||
mutex_unlock(&cdev->lock);
|
||||
}
|
||||
|
||||
/**
|
||||
* thermal_cdev_update_nocheck() - Unconditionally update cooling device state
|
||||
* @cdev: Target cooling device.
|
||||
*/
|
||||
void thermal_cdev_update_nocheck(struct thermal_cooling_device *cdev)
|
||||
{
|
||||
mutex_lock(&cdev->lock);
|
||||
|
||||
__thermal_cdev_update(cdev);
|
||||
|
||||
mutex_unlock(&cdev->lock);
|
||||
}
|
||||
|
||||
/**
|
||||
* thermal_zone_get_slope - return the slope attribute of the thermal zone
|
||||
* @tz: thermal zone device with the slope attribute
|
||||
|
Loading…
Reference in New Issue
Block a user