[openwrt/openwrt] gpio-button-hotplug: use devm_kmemdup_array

LEDE Commits lede-commits at lists.infradead.org
Tue Dec 2 14:33:42 PST 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/616b0cebe758972f5db8f71d66c257fe1d0ff246

commit 616b0cebe758972f5db8f71d66c257fe1d0ff246
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Fri Nov 28 15:31:24 2025 -0800

    gpio-button-hotplug: use devm_kmemdup_array
    
    Eliminates a manual memcpy.
    
    Signed-off-by: Rosen Penev <rosenp at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/19932
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c | 3 +--
 1 file changed, 1 insertion(+), 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),




More information about the lede-commits mailing list