From: Mario Limonciello Date: Fri, 21 Mar 2025 02:25:01 +0000 (-0500) Subject: kstrtox: add support for enabled and disabled in kstrtobool() X-Git-Tag: v6.16-rc1~91^2~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae5b3500856fb9a565470d83033bb91786ec16f1;p=thirdparty%2Flinux.git kstrtox: add support for enabled and disabled in kstrtobool() In some places in the kernel there is a design pattern for sysfs attributes to use kstrtobool() in store() and str_enabled_disabled() in show(). This is counterintuitive to interact with because kstrtobool() takes on/off but str_enabled_disabled() shows enabled/disabled. Some of those sysfs uses could switch to str_on_off() but for some attributes enabled/disabled really makes more sense. Add support for kstrtobool() to accept enabled/disabled. Link: https://lkml.kernel.org/r/20250321022538.1532445-1-superm1@kernel.org Signed-off-by: Mario Limonciello Signed-off-by: Andrew Morton --- diff --git a/lib/kstrtox.c b/lib/kstrtox.c index d586e6af5e5a6..bdde40cd69d78 100644 --- a/lib/kstrtox.c +++ b/lib/kstrtox.c @@ -351,6 +351,8 @@ int kstrtobool(const char *s, bool *res) return -EINVAL; switch (s[0]) { + case 'e': + case 'E': case 'y': case 'Y': case 't': @@ -358,6 +360,8 @@ int kstrtobool(const char *s, bool *res) case '1': *res = true; return 0; + case 'd': + case 'D': case 'n': case 'N': case 'f':