Use proper conversion functions.
kstrto*() variants exist for all standard types.

Signed-off-by: Alexey Dobriyan <adobri...@gmail.com>
---

 lib/test_firmware.c |    9 +++------
 lib/test_kmod.c     |   26 ++++++++++----------------
 2 files changed, 13 insertions(+), 22 deletions(-)

--- a/lib/test_firmware.c
+++ b/lib/test_firmware.c
@@ -364,18 +364,15 @@ static ssize_t test_dev_config_show_int(char *buf, int 
val)
 
 static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
 {
+       u8 val;
        int ret;
-       long new;
 
-       ret = kstrtol(buf, 10, &new);
+       ret = kstrtou8(buf, 10, &val);
        if (ret)
                return ret;
 
-       if (new > U8_MAX)
-               return -EINVAL;
-
        mutex_lock(&test_fw_mutex);
-       *(u8 *)cfg = new;
+       *(u8 *)cfg = val;
        mutex_unlock(&test_fw_mutex);
 
        /* Always return full write size even if we didn't consume all */
--- a/lib/test_kmod.c
+++ b/lib/test_kmod.c
@@ -877,20 +877,17 @@ static int test_dev_config_update_uint_sync(struct 
kmod_test_device *test_dev,
                                            int (*test_sync)(struct 
kmod_test_device *test_dev))
 {
        int ret;
-       unsigned long new;
+       unsigned int val;
        unsigned int old_val;
 
-       ret = kstrtoul(buf, 10, &new);
+       ret = kstrtouint(buf, 10, &val);
        if (ret)
                return ret;
 
-       if (new > UINT_MAX)
-               return -EINVAL;
-
        mutex_lock(&test_dev->config_mutex);
 
        old_val = *config;
-       *(unsigned int *)config = new;
+       *(unsigned int *)config = val;
 
        ret = test_sync(test_dev);
        if (ret) {
@@ -914,18 +911,18 @@ static int test_dev_config_update_uint_range(struct 
kmod_test_device *test_dev,
                                             unsigned int min,
                                             unsigned int max)
 {
+       unsigned int val;
        int ret;
-       unsigned long new;
 
-       ret = kstrtoul(buf, 10, &new);
+       ret = kstrtouint(buf, 10, &val);
        if (ret)
                return ret;
 
-       if (new < min || new > max)
+       if (val < min || val > max)
                return -EINVAL;
 
        mutex_lock(&test_dev->config_mutex);
-       *config = new;
+       *config = val;
        mutex_unlock(&test_dev->config_mutex);
 
        /* Always return full write size even if we didn't consume all */
@@ -936,18 +933,15 @@ static int test_dev_config_update_int(struct 
kmod_test_device *test_dev,
                                      const char *buf, size_t size,
                                      int *config)
 {
+       int val;
        int ret;
-       long new;
 
-       ret = kstrtol(buf, 10, &new);
+       ret = kstrtoint(buf, 10, &val);
        if (ret)
                return ret;
 
-       if (new < INT_MIN || new > INT_MAX)
-               return -EINVAL;
-
        mutex_lock(&test_dev->config_mutex);
-       *config = new;
+       *config = val;
        mutex_unlock(&test_dev->config_mutex);
        /* Always return full write size even if we didn't consume all */
        return size;

Reply via email to