Re: [PATCH 23/26] ASoC: codecs: wm8994: Use guard() for mutex locks
Richard Fitzgerald <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 23/07/2026 5:53 am, [email protected] wrote: > From: bui duc phuc <[email protected]> > > Clean up the code using guard() for mutex locks. > Merely code refactoring, and no behavior change. > > Signed-off-by: bui duc phuc <[email protected]> > --- > sound/soc/codecs/wm8994.c | 30 ++++++++---------------------- > 1 file changed, 8 insertions(+), 22 deletions(-) > > diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c > index 1d64c7c42ed1..8bf58a6a8af7 100644 > --- a/sound/soc/codecs/wm8994.c > +++ b/sound/soc/codecs/wm8994.c > @@ -7,6 +7,7 @@ > * Author: Mark Brown <[email protected]> > */ > > +#include <linux/cleanup.h> > #include <linux/module.h> > #include <linux/moduleparam.h> > #include <linux/init.h> > @@ -766,7 +767,7 @@ static void active_reference(struct snd_soc_component *component) > { > struct wm8994_priv *wm8994 = snd_soc_component_get_drvdata(component); > > - mutex_lock(&wm8994->accdet_lock); > + guard(mutex)(&wm8994->accdet_lock); > > wm8994->active_refcount++; > > @@ -775,8 +776,6 @@ static void active_reference(struct snd_soc_component *component) > > /* If we're using jack detection go into audio mode */ > wm1811_jackdet_set_mode(component, WM1811_JACKDET_MODE_AUDIO); > - > - mutex_unlock(&wm8994->accdet_lock); > } > > static void active_dereference(struct snd_soc_component *component) > @@ -784,7 +783,7 @@ static void active_dereference(struct snd_soc_component *component) > struct wm8994_priv *wm8994 = snd_soc_component_get_drvdata(component); > u16 mode; > > - mutex_lock(&wm8994->accdet_lock); > + guard(mutex)(&wm8994->accdet_lock); > > wm8994->active_refcount--; > > @@ -800,8 +799,6 @@ static void active_dereference(struct snd_soc_component *component) > > wm1811_jackdet_set_mode(component, mode); > } > - > - mutex_unlock(&wm8994->accdet_lock); > } > > static int clk_sys_event(struct snd_soc_dapm_widget *w, > @@ -3704,7 +3701,7 @@ static void wm8958_open_circuit_work(struct work_struct *work) > open_circuit_work.work); > struct device *dev = wm8994->wm8994->dev; > > - mutex_lock(&wm8994->accdet_lock); > + guard(mutex)(&wm8994->accdet_lock); > > wm1811_micd_stop(wm8994->hubs.component); > > @@ -3718,8 +3715,6 @@ static void wm8958_open_circuit_work(struct work_struct *work) > snd_soc_jack_report(wm8994->micdet[0].jack, 0, > wm8994->btn_mask | > SND_JACK_HEADSET); > - > - mutex_unlock(&wm8994->accdet_lock); > } > > static void wm8958_mic_id(void *data, u16 status) > @@ -3777,7 +3772,7 @@ static void wm1811_mic_work(struct work_struct *work) > struct snd_soc_component *component = wm8994->hubs.component; > struct snd_soc_dapm_context *dapm = snd_soc_component_to_dapm(component); > > - pm_runtime_get_sync(component->dev); > + guard(pm_runtime_active)(component->dev); > > /* If required for an external cap force MICBIAS on */ > if (control->pdata.jd_ext_cap) { > @@ -3785,7 +3780,7 @@ static void wm1811_mic_work(struct work_struct *work) > snd_soc_dapm_sync(dapm); > } > > - mutex_lock(&wm8994->accdet_lock); > + guard(mutex)(&wm8994->accdet_lock); > > dev_dbg(component->dev, "Starting mic detection\n"); > > @@ -3803,10 +3798,6 @@ static void wm1811_mic_work(struct work_struct *work) > snd_soc_component_update_bits(component, WM8958_MIC_DETECT_1, > WM8958_MICD_ENA, WM8958_MICD_ENA); > } > - > - mutex_unlock(&wm8994->accdet_lock); > - > - pm_runtime_put(component->dev); > } > > static irqreturn_t wm1811_jackdet_irq(int irq, void *data) > @@ -4026,15 +4017,10 @@ static void wm8958_mic_work(struct work_struct *work) > mic_complete_work.work); > struct snd_soc_component *component = wm8994->hubs.component; > > - pm_runtime_get_sync(component->dev); > - > - mutex_lock(&wm8994->accdet_lock); > + guard(pm_runtime_active)(component->dev); > + guard(mutex)(&wm8994->accdet_lock); > > wm8994->mic_id_cb(wm8994->mic_id_cb_data, wm8994->mic_status); > - > - mutex_unlock(&wm8994->accdet_lock); > - > - pm_runtime_put(component->dev); > } > > static irqreturn_t wm8958_mic_irq(int irq, void *data) Reviewed-by: Richard Fitzgerald <[email protected]>