summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRosen Penev2025-11-28 23:31:24 +0000
committerHauke Mehrtens2025-12-02 22:32:42 +0000
commit616b0cebe758972f5db8f71d66c257fe1d0ff246 (patch)
tree830171a9620c6fe15c21e8ae218476af735a7cea
parent5b263f3360bfc1c74a17d3ce1710d5c528084156 (diff)
downloadopenwrt-616b0cebe758972f5db8f71d66c257fe1d0ff246.tar.gz
gpio-button-hotplug: use devm_kmemdup_array
Eliminates a manual memcpy. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19932 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c
index 5b40e34950..d0e35bedee 100644
--- a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c
+++ b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c
@@ -463,13 +463,12 @@ static int gpio_keys_button_probe(struct platform_device *pdev,
return -EINVAL;
}
- buttons = devm_kzalloc(dev, pdata->nbuttons * sizeof(struct gpio_keys_button),
+ buttons = devm_kmemdup_array(dev, pdata->buttons, pdata->nbuttons, sizeof(struct gpio_keys_button),
GFP_KERNEL);
if (!buttons) {
dev_err(dev, "no memory for button data\n");
return -ENOMEM;
}
- memcpy(buttons, pdata->buttons, pdata->nbuttons * sizeof(struct gpio_keys_button));
bdev = devm_kzalloc(dev, sizeof(struct gpio_keys_button_dev) +
pdata->nbuttons * sizeof(struct gpio_keys_button_data),