driver core: Replace kstrdup() + strreplace() with kstrdup_and_replace()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 4 Aug 2023 14:39:08 +0000 (17:39 +0300)
committerStephen Boyd <sboyd@kernel.org>
Sat, 5 Aug 2023 01:21:50 +0000 (18:21 -0700)
Replace open coded functionality of kstrdup_and_replace() with a call.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230804143910.15504-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/base/core.c

index 3dff503..af0ee69 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/kstrtox.h>
 #include <linux/module.h>
 #include <linux/slab.h>
-#include <linux/string.h>
 #include <linux/kdev_t.h>
 #include <linux/notifier.h>
 #include <linux/of.h>
@@ -28,6 +27,7 @@
 #include <linux/netdevice.h>
 #include <linux/sched/signal.h>
 #include <linux/sched/mm.h>
+#include <linux/string_helpers.h>
 #include <linux/swiotlb.h>
 #include <linux/sysfs.h>
 #include <linux/dma-map-ops.h> /* for dma_default_coherent */
@@ -3910,10 +3910,9 @@ const char *device_get_devnode(const struct device *dev,
                return dev_name(dev);
 
        /* replace '!' in the name with '/' */
-       s = kstrdup(dev_name(dev), GFP_KERNEL);
+       s = kstrdup_and_replace(dev_name(dev), '!', '/', GFP_KERNEL);
        if (!s)
                return NULL;
-       strreplace(s, '!', '/');
        return *tmp = s;
 }