leds: wm831x-status: Use sysfs_match_string() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 3 May 2018 18:10:03 +0000 (21:10 +0300)
committerJacek Anaszewski <jacek.anaszewski@gmail.com>
Thu, 3 May 2018 19:50:13 +0000 (21:50 +0200)
Use sysfs_match_string() helper instead of open coded variant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
drivers/leds/leds-wm831x-status.c

index be93b20..c5798b9 100644 (file)
@@ -188,24 +188,14 @@ static ssize_t wm831x_status_src_store(struct device *dev,
 {
        struct led_classdev *led_cdev = dev_get_drvdata(dev);
        struct wm831x_status *led = to_wm831x_status(led_cdev);
-       char name[20];
        int i;
-       size_t len;
 
-       name[sizeof(name) - 1] = '\0';
-       strncpy(name, buf, sizeof(name) - 1);
-       len = strlen(name);
-
-       if (len && name[len - 1] == '\n')
-               name[len - 1] = '\0';
-
-       for (i = 0; i < ARRAY_SIZE(led_src_texts); i++) {
-               if (!strcmp(name, led_src_texts[i])) {
-                       mutex_lock(&led->mutex);
-                       led->src = i;
-                       mutex_unlock(&led->mutex);
-                       wm831x_status_set(led);
-               }
+       i = sysfs_match_string(led_src_texts, buf);
+       if (i >= 0) {
+               mutex_lock(&led->mutex);
+               led->src = i;
+               mutex_unlock(&led->mutex);
+               wm831x_status_set(led);
        }
 
        return size;