misc: apds990x: Use sysfs_match_string() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sun, 11 Jun 2017 14:52:20 +0000 (17:52 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Jun 2017 14:03:22 +0000 (16:03 +0200)
Use sysfs_match_string() helper instead of open coded variant.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/apds990x.c

index c341164edaad017e77d1c78bd7cdfe20de771846..84e5b949399e4b78b2a00246a902da840c7e9a85 100644 (file)
@@ -841,7 +841,7 @@ static ssize_t apds990x_prox_enable_store(struct device *dev,
 static DEVICE_ATTR(prox0_raw_en, S_IRUGO | S_IWUSR, apds990x_prox_enable_show,
                                                   apds990x_prox_enable_store);
 
-static const char reporting_modes[][9] = {"trigger", "periodic"};
+static const char *reporting_modes[] = {"trigger", "periodic"};
 
 static ssize_t apds990x_prox_reporting_mode_show(struct device *dev,
                                   struct device_attribute *attr, char *buf)
@@ -856,13 +856,13 @@ static ssize_t apds990x_prox_reporting_mode_store(struct device *dev,
                                  const char *buf, size_t len)
 {
        struct apds990x_chip *chip =  dev_get_drvdata(dev);
+       int ret;
 
-       if (sysfs_streq(buf, reporting_modes[0]))
-               chip->prox_continuous_mode = 0;
-       else if (sysfs_streq(buf, reporting_modes[1]))
-               chip->prox_continuous_mode = 1;
-       else
-               return -EINVAL;
+       ret = sysfs_match_string(reporting_modes, buf);
+       if (ret < 0)
+               return ret;
+
+       chip->prox_continuous_mode = ret;
        return len;
 }