]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: stm32-dcmi: use devm_kmemdup_array()
authorRaag Jadav <raag.jadav@intel.com>
Wed, 9 Apr 2025 08:47:38 +0000 (14:17 +0530)
committerHans Verkuil <hverkuil@xs4all.nl>
Fri, 25 Apr 2025 13:14:34 +0000 (15:14 +0200)
Convert to use devm_kmemdup_array() and while at it, make the size robust
against type changes.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/platform/st/stm32/stm32-dcmi.c

index 9b699ee2b1e0614c22f68da2709b54c85e5024bd..ba77062357eb7564777adb05b3618eeb7a866222 100644 (file)
@@ -1682,18 +1682,14 @@ static int dcmi_formats_init(struct stm32_dcmi *dcmi)
                return -ENXIO;
 
        dcmi->num_of_sd_formats = num_fmts;
-       dcmi->sd_formats = devm_kcalloc(dcmi->dev,
-                                       num_fmts, sizeof(struct dcmi_format *),
-                                       GFP_KERNEL);
+       dcmi->sd_formats = devm_kmemdup_array(dcmi->dev, sd_fmts, num_fmts,
+                                             sizeof(*sd_fmts), GFP_KERNEL);
        if (!dcmi->sd_formats) {
                dev_err(dcmi->dev, "Could not allocate memory\n");
                return -ENOMEM;
        }
 
-       memcpy(dcmi->sd_formats, sd_fmts,
-              num_fmts * sizeof(struct dcmi_format *));
        dcmi->sd_format = dcmi->sd_formats[0];
-
        return 0;
 }