]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
kstrtox: add support for enabled and disabled in kstrtobool()
authorMario Limonciello <mario.limonciello@amd.com>
Fri, 21 Mar 2025 02:25:01 +0000 (21:25 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 May 2025 00:54:06 +0000 (17:54 -0700)
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 <mario.limonciello@amd.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/kstrtox.c

index d586e6af5e5a69fc5c6bc8d3005dfc85a403304f..bdde40cd69d789600ad0c39cc0f61cc146e40db9 100644 (file)
@@ -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':