]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: baytrail: copy communities using devm_kmemdup_array()
authorRaag Jadav <raag.jadav@intel.com>
Wed, 12 Feb 2025 06:25:07 +0000 (11:55 +0530)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 24 Feb 2025 10:08:52 +0000 (12:08 +0200)
Copy communities using devm_kmemdup_array() instead of doing it manually.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/pinctrl/intel/pinctrl-baytrail.c

index 7340dc20349c7369bb287cab3b1b4f29f2826ef3..c856a2065a1f71197f656824fe8b930fc9fe30f3 100644 (file)
@@ -1557,16 +1557,14 @@ static int byt_set_soc_data(struct intel_pinctrl *vg,
        vg->soc = soc;
 
        vg->ncommunities = vg->soc->ncommunities;
-       vg->communities = devm_kcalloc(vg->dev, vg->ncommunities,
-                                      sizeof(*vg->communities), GFP_KERNEL);
+       vg->communities = devm_kmemdup_array(vg->dev, vg->soc->communities, vg->ncommunities,
+                                            sizeof(*vg->soc->communities), GFP_KERNEL);
        if (!vg->communities)
                return -ENOMEM;
 
        for (i = 0; i < vg->soc->ncommunities; i++) {
                struct intel_community *comm = vg->communities + i;
 
-               *comm = vg->soc->communities[i];
-
                comm->pad_regs = devm_platform_ioremap_resource(pdev, 0);
                if (IS_ERR(comm->pad_regs))
                        return PTR_ERR(comm->pad_regs);