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:
Thorsten Blum 2026-09-16 00:15:49 +02:00 committed by Rafael J. Wysocki
parent 23b16b5178
commit d89c557bb0

View File

@ -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;
}