platform/x86: fujitsu: clamp charge_control_end_threshold values to 50

Follow the sysfs ABI documentation that drivers should round written
values to the nearest supported value instead of returning an error.

Tested on a Fujitsu Lifebook U7720.

Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Acked-by: Jonathan Woithe <jwoithe@just42.net>
Link: https://lore.kernel.org/r/20250609102115.36936-3-jvanderwaa@redhat.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
Jelle van der Waa 2025-06-09 12:21:14 +02:00 committed by Ilpo Järvinen
parent d9926f09ed
commit dce7764105
No known key found for this signature in database
GPG key ID: 59AC4F6153E5CE31

View file

@ -187,9 +187,12 @@ static ssize_t charge_control_end_threshold_store(struct device *dev,
if (ret)
return ret;
if (value < 50 || value > 100)
if (value > 100)
return -EINVAL;
if (value < 50)
value = 50;
cc_end_value = value * 0x100 + 0x20;
s006_cc_return = call_fext_func(fext, FUNC_S006_METHOD,
CHARGE_CONTROL_RW, cc_end_value, 0x0);