]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: meson: axg-tdm-interface: use devm_kmemdup_array()
authorRaag Jadav <raag.jadav@intel.com>
Fri, 28 Feb 2025 06:28:11 +0000 (11:58 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 28 Feb 2025 14:01:01 +0000 (14:01 +0000)
Convert to use devm_kmemdup_array() which is more robust.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Link: https://patch.msgid.link/20250228062812.150004-6-raag.jadav@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/meson/axg-tdm-interface.c

index 09103eef2a9797cf6311acb300129173db0c5a95..421b5d719fb3db74853dff3a46eccd5c70cda0b2 100644 (file)
@@ -529,7 +529,6 @@ static int axg_tdm_iface_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct snd_soc_dai_driver *dai_drv;
        struct axg_tdm_iface *iface;
-       int i;
 
        iface = devm_kzalloc(dev, sizeof(*iface), GFP_KERNEL);
        if (!iface)
@@ -541,15 +540,11 @@ static int axg_tdm_iface_probe(struct platform_device *pdev)
         * We'll change the number of channel provided by DAI stream, so dpcm
         * channel merge can be done properly
         */
-       dai_drv = devm_kcalloc(dev, ARRAY_SIZE(axg_tdm_iface_dai_drv),
-                              sizeof(*dai_drv), GFP_KERNEL);
+       dai_drv = devm_kmemdup_array(dev, axg_tdm_iface_dai_drv, ARRAY_SIZE(axg_tdm_iface_dai_drv),
+                                    sizeof(axg_tdm_iface_dai_drv[0]), GFP_KERNEL);
        if (!dai_drv)
                return -ENOMEM;
 
-       for (i = 0; i < ARRAY_SIZE(axg_tdm_iface_dai_drv); i++)
-               memcpy(&dai_drv[i], &axg_tdm_iface_dai_drv[i],
-                      sizeof(*dai_drv));
-
        /* Bit clock provided on the pad */
        iface->sclk = devm_clk_get(dev, "sclk");
        if (IS_ERR(iface->sclk))