xtensa: ISS: avoid simple_strtoul usage
authorMax Filippov <jcmvbkbc@gmail.com>
Sun, 1 Dec 2013 06:16:56 +0000 (10:16 +0400)
committerChris Zankel <chris@zankel.net>
Tue, 14 Jan 2014 18:20:00 +0000 (10:20 -0800)
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/platforms/iss/network.c

index 3aff430..7f84b5c 100644 (file)
@@ -612,22 +612,22 @@ static int __init iss_net_setup(char *str)
        struct iss_net_init *new;
        struct list_head *ele;
        char *end;
-       int n;
+       int rc;
+       unsigned n;
 
-       n = simple_strtoul(str, &end, 0);
-       if (end == str) {
-               printk(ERR "Failed to parse '%s'\n", str);
+       end = strchr(str, '=');
+       if (!end) {
+               printk(ERR "Expected '=' after device number\n");
                return 1;
        }
-       if (n < 0) {
-               printk(ERR "Device %d is negative\n", n);
+       *end = 0;
+       rc = kstrtouint(str, 0, &n);
+       *end = '=';
+       if (rc < 0) {
+               printk(ERR "Failed to parse '%s'\n", str);
                return 1;
        }
        str = end;
-       if (*str != '=') {
-               printk(ERR "Expected '=' after device number\n");
-               return 1;
-       }
 
        spin_lock(&devices_lock);
 
@@ -640,7 +640,7 @@ static int __init iss_net_setup(char *str)
        spin_unlock(&devices_lock);
 
        if (device && device->index == n) {
-               printk(ERR "Device %d already configured\n", n);
+               printk(ERR "Device %u already configured\n", n);
                return 1;
        }