]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
toshiba_haps: Replace sscanf with kstrtoint
authorAzael Avalos <coproscefalo@gmail.com>
Thu, 26 Feb 2015 17:58:30 +0000 (10:58 -0700)
committerDarren Hart <dvhart@linux.intel.com>
Mon, 11 May 2015 17:38:22 +0000 (10:38 -0700)
This patch simply replaces the use of sscanf with kstrtoint returning
the error code in case that something went bad.

Signed-off-by: Azael Avalos <coproscefalo@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/toshiba_haps.c

index 65300b6a84b9d351d6f074991e6e26de7ed8eea5..db6cc53f8c5564ef9fdc4e9af021699cd14d7eb8 100644 (file)
@@ -78,15 +78,20 @@ static ssize_t protection_level_store(struct device *dev,
                                      const char *buf, size_t count)
 {
        struct toshiba_haps_dev *haps = dev_get_drvdata(dev);
-       int level, ret;
-
-       if (sscanf(buf, "%d", &level) != 1 || level < 0 || level > 3)
-               return -EINVAL;
+       int level;
+       int ret;
 
-       /* Set the sensor level.
-        * Acceptable levels are:
+       ret = kstrtoint(buf, 0, &level);
+       if (ret)
+               return ret;
+       /*
+        * Check for supported levels, which can be:
         * 0 - Disabled | 1 - Low | 2 - Medium | 3 - High
         */
+       if (level < 0 || level > 3)
+               return -EINVAL;
+
+       /* Set the sensor level */
        ret = toshiba_haps_protection_level(haps->acpi_dev->handle, level);
        if (ret != 0)
                return ret;
@@ -101,9 +106,14 @@ static ssize_t reset_protection_store(struct device *dev,
                                      const char *buf, size_t count)
 {
        struct toshiba_haps_dev *haps = dev_get_drvdata(dev);
-       int reset, ret;
+       int reset;
+       int ret;
 
-       if (sscanf(buf, "%d", &reset) != 1 || reset != 1)
+       ret = kstrtoint(buf, 0, &reset);
+       if (ret)
+               return ret;
+       /* The only accepted value is 1 */
+       if (reset != 1)
                return -EINVAL;
 
        /* Reset the protection interface */