[PATCH] gpio: sim: replace memmove() + strstrip() with skip_spaces() + strim()

From: Bartosz Golaszewski
Date: Sat Aug 12 2023 - 14:57:59 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

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@xxxxxxxxxxxxxxx>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
---
drivers/gpio/gpio-sim.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpio/gpio-sim.c b/drivers/gpio/gpio-sim.c
index bb8fcf2a794c..106a73263f49 100644
--- a/drivers/gpio/gpio-sim.c
+++ b/drivers/gpio/gpio-sim.c
@@ -633,16 +633,15 @@ 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);
+ strim(trimmed);

- return dup;
+ return trimmed;
}

static ssize_t gpio_sim_device_config_dev_name_show(struct config_item *item,
--
2.39.2