OSDN Git Service

drivers/base/core.c: use strreplace()
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Thu, 25 Jun 2015 22:02:33 +0000 (15:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 26 Jun 2015 00:00:40 +0000 (17:00 -0700)
This eliminates a little .text and avoids repeating the strchr call when
we meet a '!' (which will happen at least once).

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/base/core.c

index 21d1303..dafae6d 100644 (file)
@@ -1303,12 +1303,11 @@ const char *device_get_devnode(struct device *dev,
                return dev_name(dev);
 
        /* replace '!' in the name with '/' */
-       *tmp = kstrdup(dev_name(dev), GFP_KERNEL);
-       if (!*tmp)
+       s = kstrdup(dev_name(dev), GFP_KERNEL);
+       if (!s)
                return NULL;
-       while ((s = strchr(*tmp, '!')))
-               s[0] = '/';
-       return *tmp;
+       strreplace(s, '!', '/');
+       return *tmp = s;
 }
 
 /**