mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
thermal: intel: powerclamp: Simplify max_idle_set()
Use guard(mutex) and return errors directly to simplify the code. Signed-off-by: Thorsten Blum <blum@kernel.org> Link: https://patch.msgid.link/20260915221548.104852-4-blum@kernel.org Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
23b16b5178
commit
d89c557bb0
|
|
@ -207,41 +207,32 @@ MODULE_PARM_DESC(cpumask, "Mask of CPUs to use for idle injection.");
|
|||
static int max_idle_set(const char *arg, const struct kernel_param *kp)
|
||||
{
|
||||
u8 new_max_idle;
|
||||
int ret = 0;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&powerclamp_lock);
|
||||
guard(mutex)(&powerclamp_lock);
|
||||
|
||||
/* Can't set mask when cooling device is in use */
|
||||
if (powerclamp_data.clamping) {
|
||||
ret = -EAGAIN;
|
||||
goto skip_limit_set;
|
||||
}
|
||||
if (powerclamp_data.clamping)
|
||||
return -EAGAIN;
|
||||
|
||||
ret = kstrtou8(arg, 10, &new_max_idle);
|
||||
if (ret)
|
||||
goto skip_limit_set;
|
||||
return ret;
|
||||
|
||||
if (new_max_idle > MAX_TARGET_RATIO) {
|
||||
ret = -EINVAL;
|
||||
goto skip_limit_set;
|
||||
}
|
||||
if (new_max_idle > MAX_TARGET_RATIO)
|
||||
return -EINVAL;
|
||||
|
||||
if (!cpumask_available(idle_injection_cpu_mask)) {
|
||||
ret = allocate_copy_idle_injection_mask(cpu_present_mask);
|
||||
if (ret)
|
||||
goto skip_limit_set;
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (check_invalid(idle_injection_cpu_mask, new_max_idle)) {
|
||||
ret = -EINVAL;
|
||||
goto skip_limit_set;
|
||||
}
|
||||
if (check_invalid(idle_injection_cpu_mask, new_max_idle))
|
||||
return -EINVAL;
|
||||
|
||||
max_idle = new_max_idle;
|
||||
|
||||
skip_limit_set:
|
||||
mutex_unlock(&powerclamp_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user