浏览代码

xtensa: ISS: avoid simple_strtoul usage

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Max Filippov 11 年之前
父节点
当前提交
8be54d770b
共有 1 个文件被更改,包括 11 次插入11 次删除
  1. 11 11
      arch/xtensa/platforms/iss/network.c

+ 11 - 11
arch/xtensa/platforms/iss/network.c

@@ -612,22 +612,22 @@ static int __init iss_net_setup(char *str)
 	struct iss_net_init *new;
 	struct iss_net_init *new;
 	struct list_head *ele;
 	struct list_head *ele;
 	char *end;
 	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;
 		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;
 		return 1;
 	}
 	}
 	str = end;
 	str = end;
-	if (*str != '=') {
-		printk(ERR "Expected '=' after device number\n");
-		return 1;
-	}
 
 
 	spin_lock(&devices_lock);
 	spin_lock(&devices_lock);
 
 
@@ -640,7 +640,7 @@ static int __init iss_net_setup(char *str)
 	spin_unlock(&devices_lock);
 	spin_unlock(&devices_lock);
 
 
 	if (device && device->index == n) {
 	if (device && device->index == n) {
-		printk(ERR "Device %d already configured\n", n);
+		printk(ERR "Device %u already configured\n", n);
 		return 1;
 		return 1;
 	}
 	}