gpio: sim: replace memmove() + strstrip() with skip_spaces() + strim()
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Sat, 12 Aug 2023 18:57:48 +0000 (20:57 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Tue, 15 Aug 2023 18:47:30 +0000 (20:47 +0200)
Turns out we can avoid the memmove() by using skip_spaces() and strim().
We did that in gpio-consumer, let's do it in gpio-sim.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/gpio-sim.c

index 1fbbb49985f60e6c628815dc747ac9f67af9a259..b7161c83c104d5fd7b7c4f4f3ec49fb87f657792 100644 (file)
@@ -642,16 +642,13 @@ static bool gpio_sim_device_is_live_unlocked(struct gpio_sim_device *dev)
 
 static char *gpio_sim_strdup_trimmed(const char *str, size_t count)
 {
-       char *dup, *trimmed;
+       char *trimmed;
 
-       dup = kstrndup(str, count, GFP_KERNEL);
-       if (!dup)
+       trimmed = kstrndup(skip_spaces(str), count, GFP_KERNEL);
+       if (!trimmed)
                return NULL;
 
-       trimmed = strstrip(dup);
-       memmove(dup, trimmed, strlen(trimmed) + 1);
-
-       return dup;
+       return strim(trimmed);
 }
 
 static ssize_t gpio_sim_device_config_dev_name_show(struct config_item *item,