]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
usb: misc: usbsevseg: Use sysfs_match_string() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sun, 11 Jun 2017 14:15:16 +0000 (17:15 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Jun 2017 08:54:40 +0000 (10:54 +0200)
Use sysfs_match_string() helper instead of open coded variant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/usbsevseg.c

index a0ba5298160c562f6938da6758db431d9c40c8cd..388fae6373db4dc27fad05f03e086c8558ba9852 100644 (file)
@@ -33,7 +33,7 @@ static const struct usb_device_id id_table[] = {
 MODULE_DEVICE_TABLE(usb, id_table);
 
 /* the different text display modes the device is capable of */
-static char *display_textmodes[] = {"raw", "hex", "ascii", NULL};
+static const char *display_textmodes[] = {"raw", "hex", "ascii"};
 
 struct usb_sevsegdev {
        struct usb_device *udev;
@@ -280,7 +280,7 @@ static ssize_t show_attr_textmode(struct device *dev,
 
        buf[0] = 0;
 
-       for (i = 0; display_textmodes[i]; i++) {
+       for (i = 0; i < ARRAY_SIZE(display_textmodes); i++) {
                if (mydev->textmode == i) {
                        strcat(buf, " [");
                        strcat(buf, display_textmodes[i]);
@@ -304,15 +304,13 @@ static ssize_t set_attr_textmode(struct device *dev,
        struct usb_sevsegdev *mydev = usb_get_intfdata(intf);
        int i;
 
-       for (i = 0; display_textmodes[i]; i++) {
-               if (sysfs_streq(display_textmodes[i], buf)) {
-                       mydev->textmode = i;
-                       update_display_visual(mydev, GFP_KERNEL);
-                       return count;
-               }
-       }
+       i = sysfs_match_string(display_textmodes, buf);
+       if (i < 0)
+               return i;
 
-       return -EINVAL;
+       mydev->textmode = i;
+       update_display_visual(mydev, GFP_KERNEL);
+       return count;
 }
 
 static DEVICE_ATTR(textmode, S_IRUGO | S_IWUSR, show_attr_textmode, set_attr_textmode);