On Mon, Jun 15, 2026 at 04:38:23PM +0700, [email protected] wrote: > From: bui duc phuc <[email protected]> > > Clean up the code using guard() for spin locks. > Merely code refactoring, and no behavior change. > > Signed-off-by: bui duc phuc <[email protected]> > ---
Reviewed-by: Frank Li <[email protected]> > sound/soc/fsl/mpc5200_dma.c | 56 ++++++++++++++++++------------------- > 1 file changed, 28 insertions(+), 28 deletions(-) > > diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c > index 56e2cf2f727b..bfedb2dea0b3 100644 > --- a/sound/soc/fsl/mpc5200_dma.c > +++ b/sound/soc/fsl/mpc5200_dma.c > @@ -77,18 +77,20 @@ static irqreturn_t psc_dma_bcom_irq(int irq, void > *_psc_dma_stream) > { > struct psc_dma_stream *s = _psc_dma_stream; > > - spin_lock(&s->psc_dma->lock); > - /* For each finished period, dequeue the completed period buffer > - * and enqueue a new one in it's place. */ > - while (bcom_buffer_done(s->bcom_task)) { > - bcom_retrieve_buffer(s->bcom_task, NULL, NULL); > + scoped_guard(spinlock, &s->psc_dma->lock) { > + /* > + * For each finished period, dequeue the completed period buffer > + * and enqueue a new one in its place > + */ > + while (bcom_buffer_done(s->bcom_task)) { > + bcom_retrieve_buffer(s->bcom_task, NULL, NULL); > > - s->period_current = (s->period_current+1) % s->runtime->periods; > - s->period_count++; > + s->period_current = (s->period_current+1) % > s->runtime->periods; > + s->period_count++; > > - psc_dma_bcom_enqueue_next_buffer(s); > + psc_dma_bcom_enqueue_next_buffer(s); > + } > } > - spin_unlock(&s->psc_dma->lock); > > /* If the stream is active, then also inform the PCM middle layer > * of the period finished event. */ > @@ -116,7 +118,6 @@ static int psc_dma_trigger(struct snd_soc_component > *component, > struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma); > struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; > u16 imr; > - unsigned long flags; > int i; > > switch (cmd) { > @@ -135,19 +136,18 @@ static int psc_dma_trigger(struct snd_soc_component > *component, > /* Fill up the bestcomm bd queue and enable DMA. > * This will begin filling the PSC's fifo. > */ > - spin_lock_irqsave(&psc_dma->lock, flags); > - > - if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) > - bcom_gen_bd_rx_reset(s->bcom_task); > - else > - bcom_gen_bd_tx_reset(s->bcom_task); > + scoped_guard(spinlock_irqsave, &psc_dma->lock) { > + if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) > + bcom_gen_bd_rx_reset(s->bcom_task); > + else > + bcom_gen_bd_tx_reset(s->bcom_task); > > - for (i = 0; i < runtime->periods; i++) > - if (!bcom_queue_full(s->bcom_task)) > - psc_dma_bcom_enqueue_next_buffer(s); > + for (i = 0; i < runtime->periods; i++) > + if (!bcom_queue_full(s->bcom_task)) > + psc_dma_bcom_enqueue_next_buffer(s); > > - bcom_enable(s->bcom_task); > - spin_unlock_irqrestore(&psc_dma->lock, flags); > + bcom_enable(s->bcom_task); > + } > > out_8(®s->command, MPC52xx_PSC_RST_ERR_STAT); > > @@ -158,13 +158,13 @@ static int psc_dma_trigger(struct snd_soc_component > *component, > substream->pstr->stream, s->period_count); > s->active = 0; > > - spin_lock_irqsave(&psc_dma->lock, flags); > - bcom_disable(s->bcom_task); > - if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) > - bcom_gen_bd_rx_reset(s->bcom_task); > - else > - bcom_gen_bd_tx_reset(s->bcom_task); > - spin_unlock_irqrestore(&psc_dma->lock, flags); > + scoped_guard(spinlock_irqsave, &psc_dma->lock) { > + bcom_disable(s->bcom_task); > + if (substream->pstr->stream == SNDRV_PCM_STREAM_CAPTURE) > + bcom_gen_bd_rx_reset(s->bcom_task); > + else > + bcom_gen_bd_tx_reset(s->bcom_task); > + } > > break; > > -- > 2.43.0 > >
