diff options
author | Jelle van der Waa <jvanderwaa@redhat.com> | 2025-06-09 12:21:14 +0200 |
---|---|---|
committer | Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> | 2025-06-13 12:33:28 +0300 |
commit | dce77641056ea4fb2efab0a66d6929a5008d7235 (patch) | |
tree | 2621469090f4f15e6c51c0e18aa059a1bddb5f75 | |
parent | d9926f09edabd81db86768fd87eff3e163f109e2 (diff) |
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>
-rw-r--r-- | drivers/platform/x86/fujitsu-laptop.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c index c6ec61518160..931fbcdd21b8 100644 --- a/drivers/platform/x86/fujitsu-laptop.c +++ b/drivers/platform/x86/fujitsu-laptop.c @@ -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); |