]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: fsl: fsl_qmc_audio: use scoped child node loop
authorCássio Gabriel <cassiogabrielcontato@gmail.com>
Mon, 8 Jun 2026 13:39:12 +0000 (10:39 -0300)
committerMark Brown <broonie@kernel.org>
Fri, 12 Jun 2026 15:12:10 +0000 (16:12 +0100)
qmc_audio_probe() manually puts the current child node before returning
from the DAI parsing loop on error.

Use for_each_available_child_of_node_scoped() so the current child node is
released automatically on early return and normal loop exit.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260608-asoc-of-node-scoped-cleanup-v1-2-9e3ac518dc2e@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_qmc_audio.c

index 76e014dfb6d7b451412217b523ea835819eb1309..d0f644573f499d165ebb34e8d302836e90812dc1 100644 (file)
@@ -905,7 +905,6 @@ static int qmc_audio_probe(struct platform_device *pdev)
 {
        struct device_node *np = pdev->dev.of_node;
        struct qmc_audio *qmc_audio;
-       struct device_node *child;
        unsigned int i;
        int ret;
 
@@ -931,14 +930,12 @@ static int qmc_audio_probe(struct platform_device *pdev)
        }
 
        i = 0;
-       for_each_available_child_of_node(np, child) {
+       for_each_available_child_of_node_scoped(np, child) {
                ret = qmc_audio_dai_parse(qmc_audio, child,
                                          qmc_audio->dais + i,
                                          qmc_audio->dai_drivers + i);
-               if (ret) {
-                       of_node_put(child);
+               if (ret)
                        return ret;
-               }
                i++;
        }