diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2019-03-20 15:22:25 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2019-03-27 14:14:29 +0100 |
commit | 70cd8121ca7dd3b00048d7f8f282c4c028a0f895 (patch) | |
tree | ef6deb001092cdfd247d4edf2aa07405a1c62556 /drivers/hid/hid-picolcd_core.c | |
parent | c6400e5cef5eafc259e649ceedc4c7eecc9069d8 (diff) | |
download | linux-70cd8121ca7dd3b00048d7f8f282c4c028a0f895.tar.bz2 |
HID: picolcd: Convert to use sysfs_streq()
Convert to use sysfs_streq() instead of custom approach.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-picolcd_core.c')
-rw-r--r-- | drivers/hid/hid-picolcd_core.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c index c1b29a9eb41a..482c24f0e078 100644 --- a/drivers/hid/hid-picolcd_core.c +++ b/drivers/hid/hid-picolcd_core.c @@ -28,6 +28,7 @@ #include <linux/completion.h> #include <linux/uaccess.h> #include <linux/module.h> +#include <linux/string.h> #include "hid-picolcd.h" @@ -275,27 +276,20 @@ static ssize_t picolcd_operation_mode_store(struct device *dev, { struct picolcd_data *data = dev_get_drvdata(dev); struct hid_report *report = NULL; - size_t cnt = count; int timeout = data->opmode_delay; unsigned long flags; - if (cnt >= 3 && strncmp("lcd", buf, 3) == 0) { + if (sysfs_streq(buf, "lcd")) { if (data->status & PICOLCD_BOOTLOADER) report = picolcd_out_report(REPORT_EXIT_FLASHER, data->hdev); - buf += 3; - cnt -= 3; - } else if (cnt >= 10 && strncmp("bootloader", buf, 10) == 0) { + } else if (sysfs_streq(buf, "bootloader")) { if (!(data->status & PICOLCD_BOOTLOADER)) report = picolcd_out_report(REPORT_EXIT_KEYBOARD, data->hdev); - buf += 10; - cnt -= 10; - } - if (!report || report->maxfield != 1) + } else { return -EINVAL; + } - while (cnt > 0 && (buf[cnt-1] == '\n' || buf[cnt-1] == '\r')) - cnt--; - if (cnt != 0) + if (!report || report->maxfield != 1) return -EINVAL; spin_lock_irqsave(&data->lock, flags); |