summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/kernel_ver.h
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2016-06-27 11:19:23 +0530
committerGreg Kroah-Hartman <gregkh@google.com>2016-06-28 17:54:38 -0700
commit0ef5be18852d0b044f916fd6194bb228f36e392a (patch)
treed82695720f2ceb099ef9a6253255c45805895585 /drivers/staging/greybus/kernel_ver.h
parent74ec7598b51fb347a1273f8deea42883ae725e6e (diff)
downloadop-kernel-dev-0ef5be18852d0b044f916fd6194bb228f36e392a.zip
op-kernel-dev-0ef5be18852d0b044f916fd6194bb228f36e392a.tar.gz
greybus: kernel_ver: Add kstrtobool()
It was added in 4.6 and is required for one of the use case, copy it. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/kernel_ver.h')
-rw-r--r--drivers/staging/greybus/kernel_ver.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/drivers/staging/greybus/kernel_ver.h b/drivers/staging/greybus/kernel_ver.h
index 98e3179..80ed27c 100644
--- a/drivers/staging/greybus/kernel_ver.h
+++ b/drivers/staging/greybus/kernel_ver.h
@@ -341,4 +341,52 @@ static inline bool pwm_is_enabled(const struct pwm_device *pwm)
}
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
+/**
+ * kstrtobool - convert common user inputs into boolean values
+ * @s: input string
+ * @res: result
+ *
+ * This routine returns 0 iff the first character is one of 'Yy1Nn0', or
+ * [oO][NnFf] for "on" and "off". Otherwise it will return -EINVAL. Value
+ * pointed to by res is updated upon finding a match.
+ */
+static inline int kstrtobool(const char *s, bool *res)
+{
+ if (!s)
+ return -EINVAL;
+
+ switch (s[0]) {
+ case 'y':
+ case 'Y':
+ case '1':
+ *res = true;
+ return 0;
+ case 'n':
+ case 'N':
+ case '0':
+ *res = false;
+ return 0;
+ case 'o':
+ case 'O':
+ switch (s[1]) {
+ case 'n':
+ case 'N':
+ *res = true;
+ return 0;
+ case 'f':
+ case 'F':
+ *res = false;
+ return 0;
+ default:
+ break;
+ }
+ default:
+ break;
+ }
+
+ return -EINVAL;
+}
+#endif
+
#endif /* __GREYBUS_KERNEL_VER_H */
OpenPOWER on IntegriCloud