[Linux-Xtensa] [PATCH v2 10/10] xtensa: ISS: avoid simple_strtoul usage

Max Filippov jcmvbkbc at gmail.com
Sun Dec 1 06:16:56 UTC 2013


Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
---
 arch/xtensa/platforms/iss/network.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c
index ecf737e..d05f8fe 100644
--- a/arch/xtensa/platforms/iss/network.c
+++ b/arch/xtensa/platforms/iss/network.c
@@ -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;
 	}
 
-- 
1.8.1.4



More information about the linux-xtensa mailing list