mirror of https://github.com/torvalds/linux.git
ALSA: dummy: Use guard() for spin locks
Clean up the code using guard() for spin locks. Merely code refactoring, and no behavior change. Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20250829150026.6379-9-tiwai@suse.de
This commit is contained in:
parent
353fc3e381
commit
638c33ef79
|
|
@ -269,19 +269,19 @@ static void dummy_systimer_update(struct dummy_systimer_pcm *dpcm)
|
|||
static int dummy_systimer_start(struct snd_pcm_substream *substream)
|
||||
{
|
||||
struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
|
||||
spin_lock(&dpcm->lock);
|
||||
|
||||
guard(spinlock)(&dpcm->lock);
|
||||
dpcm->base_time = jiffies;
|
||||
dummy_systimer_rearm(dpcm);
|
||||
spin_unlock(&dpcm->lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dummy_systimer_stop(struct snd_pcm_substream *substream)
|
||||
{
|
||||
struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
|
||||
spin_lock(&dpcm->lock);
|
||||
|
||||
guard(spinlock)(&dpcm->lock);
|
||||
timer_delete(&dpcm->timer);
|
||||
spin_unlock(&dpcm->lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -303,15 +303,14 @@ static int dummy_systimer_prepare(struct snd_pcm_substream *substream)
|
|||
static void dummy_systimer_callback(struct timer_list *t)
|
||||
{
|
||||
struct dummy_systimer_pcm *dpcm = timer_container_of(dpcm, t, timer);
|
||||
unsigned long flags;
|
||||
int elapsed = 0;
|
||||
|
||||
spin_lock_irqsave(&dpcm->lock, flags);
|
||||
scoped_guard(spinlock_irqsave, &dpcm->lock) {
|
||||
dummy_systimer_update(dpcm);
|
||||
dummy_systimer_rearm(dpcm);
|
||||
elapsed = dpcm->elapsed;
|
||||
dpcm->elapsed = 0;
|
||||
spin_unlock_irqrestore(&dpcm->lock, flags);
|
||||
}
|
||||
if (elapsed)
|
||||
snd_pcm_period_elapsed(dpcm->substream);
|
||||
}
|
||||
|
|
@ -320,13 +319,10 @@ static snd_pcm_uframes_t
|
|||
dummy_systimer_pointer(struct snd_pcm_substream *substream)
|
||||
{
|
||||
struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
|
||||
snd_pcm_uframes_t pos;
|
||||
|
||||
spin_lock(&dpcm->lock);
|
||||
guard(spinlock)(&dpcm->lock);
|
||||
dummy_systimer_update(dpcm);
|
||||
pos = dpcm->frac_pos / HZ;
|
||||
spin_unlock(&dpcm->lock);
|
||||
return pos;
|
||||
return dpcm->frac_pos / HZ;
|
||||
}
|
||||
|
||||
static int dummy_systimer_create(struct snd_pcm_substream *substream)
|
||||
|
|
@ -724,10 +720,9 @@ static int snd_dummy_volume_get(struct snd_kcontrol *kcontrol,
|
|||
struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol);
|
||||
int addr = kcontrol->private_value;
|
||||
|
||||
spin_lock_irq(&dummy->mixer_lock);
|
||||
guard(spinlock_irq)(&dummy->mixer_lock);
|
||||
ucontrol->value.integer.value[0] = dummy->mixer_volume[addr][0];
|
||||
ucontrol->value.integer.value[1] = dummy->mixer_volume[addr][1];
|
||||
spin_unlock_irq(&dummy->mixer_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -748,12 +743,11 @@ static int snd_dummy_volume_put(struct snd_kcontrol *kcontrol,
|
|||
right = mixer_volume_level_min;
|
||||
if (right > mixer_volume_level_max)
|
||||
right = mixer_volume_level_max;
|
||||
spin_lock_irq(&dummy->mixer_lock);
|
||||
guard(spinlock_irq)(&dummy->mixer_lock);
|
||||
change = dummy->mixer_volume[addr][0] != left ||
|
||||
dummy->mixer_volume[addr][1] != right;
|
||||
dummy->mixer_volume[addr][0] = left;
|
||||
dummy->mixer_volume[addr][1] = right;
|
||||
spin_unlock_irq(&dummy->mixer_lock);
|
||||
return change;
|
||||
}
|
||||
|
||||
|
|
@ -773,10 +767,9 @@ static int snd_dummy_capsrc_get(struct snd_kcontrol *kcontrol,
|
|||
struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol);
|
||||
int addr = kcontrol->private_value;
|
||||
|
||||
spin_lock_irq(&dummy->mixer_lock);
|
||||
guard(spinlock_irq)(&dummy->mixer_lock);
|
||||
ucontrol->value.integer.value[0] = dummy->capture_source[addr][0];
|
||||
ucontrol->value.integer.value[1] = dummy->capture_source[addr][1];
|
||||
spin_unlock_irq(&dummy->mixer_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -788,12 +781,11 @@ static int snd_dummy_capsrc_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el
|
|||
|
||||
left = ucontrol->value.integer.value[0] & 1;
|
||||
right = ucontrol->value.integer.value[1] & 1;
|
||||
spin_lock_irq(&dummy->mixer_lock);
|
||||
guard(spinlock_irq)(&dummy->mixer_lock);
|
||||
change = dummy->capture_source[addr][0] != left &&
|
||||
dummy->capture_source[addr][1] != right;
|
||||
dummy->capture_source[addr][0] = left;
|
||||
dummy->capture_source[addr][1] = right;
|
||||
spin_unlock_irq(&dummy->mixer_lock);
|
||||
return change;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue