]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: ti: omap-dmic: Use guard() for mutex locks
authorbui duc phuc <phucduc.bui@gmail.com>
Fri, 8 May 2026 10:38:32 +0000 (17:38 +0700)
committerMark Brown <broonie@kernel.org>
Mon, 11 May 2026 00:58:45 +0000 (09:58 +0900)
Replace open-coded mutex_lock()/mutex_unlock() pairs with guard(mutex)()
and scoped_guard() helpers.

This also simplifies the control flow by removing temporary return
variables and unnecessary goto-based cleanup paths.

No functional change intended.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Link: https://patch.msgid.link/20260508103837.138142-3-phucduc.bui@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ti/omap-dmic.c

index fb92bb88eb5c2b2728cca34d9f109e001ed08663..dc92fdb89a0fb100136bf33a17bbdbb8aaafda41 100644 (file)
@@ -91,18 +91,14 @@ static int omap_dmic_dai_startup(struct snd_pcm_substream *substream,
                                  struct snd_soc_dai *dai)
 {
        struct omap_dmic *dmic = snd_soc_dai_get_drvdata(dai);
-       int ret = 0;
-
-       mutex_lock(&dmic->mutex);
 
-       if (!snd_soc_dai_active(dai))
-               dmic->active = 1;
-       else
-               ret = -EBUSY;
+       guard(mutex)(&dmic->mutex);
 
-       mutex_unlock(&dmic->mutex);
+       if (snd_soc_dai_active(dai))
+               return -EBUSY;
 
-       return ret;
+       dmic->active = 1;
+       return 0;
 }
 
 static void omap_dmic_dai_shutdown(struct snd_pcm_substream *substream,
@@ -110,14 +106,12 @@ static void omap_dmic_dai_shutdown(struct snd_pcm_substream *substream,
 {
        struct omap_dmic *dmic = snd_soc_dai_get_drvdata(dai);
 
-       mutex_lock(&dmic->mutex);
+       guard(mutex)(&dmic->mutex);
 
        cpu_latency_qos_remove_request(&dmic->pm_qos_req);
 
        if (!snd_soc_dai_active(dai))
                dmic->active = 0;
-
-       mutex_unlock(&dmic->mutex);
 }
 
 static int omap_dmic_select_divider(struct omap_dmic *dmic, int sample_rate)
@@ -334,26 +328,24 @@ static int omap_dmic_select_fclk(struct omap_dmic *dmic, int clk_id,
                return -ENODEV;
        }
 
-       mutex_lock(&dmic->mutex);
-       if (dmic->active) {
-               /* disable clock while reparenting */
-               pm_runtime_put_sync(dmic->dev);
-               ret = clk_set_parent(mux, parent_clk);
-               pm_runtime_get_sync(dmic->dev);
-       } else {
-               ret = clk_set_parent(mux, parent_clk);
+       scoped_guard(mutex, &dmic->mutex) {
+               if (dmic->active) {
+                       /* disable clock while reparenting */
+                       pm_runtime_put_sync(dmic->dev);
+                       ret = clk_set_parent(mux, parent_clk);
+                       pm_runtime_get_sync(dmic->dev);
+               } else {
+                       ret = clk_set_parent(mux, parent_clk);
+               }
        }
-       mutex_unlock(&dmic->mutex);
 
        if (ret < 0) {
                dev_err(dmic->dev, "re-parent failed\n");
-               goto err_busy;
+       } else {
+               dmic->sysclk = clk_id;
+               dmic->fclk_freq = freq;
        }
 
-       dmic->sysclk = clk_id;
-       dmic->fclk_freq = freq;
-
-err_busy:
        clk_put(mux);
        clk_put(parent_clk);