mirror of https://github.com/torvalds/linux.git
ALSA: i2c: 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/20250829151335.7342-3-tiwai@suse.de
This commit is contained in:
parent
7a3dc0da93
commit
cc8c535320
|
|
@ -185,11 +185,10 @@ static int snd_ak4113_in_error_get(struct snd_kcontrol *kcontrol,
|
||||||
{
|
{
|
||||||
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
|
struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
|
||||||
|
|
||||||
spin_lock_irq(&chip->lock);
|
guard(spinlock_irq)(&chip->lock);
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
chip->errors[kcontrol->private_value];
|
chip->errors[kcontrol->private_value];
|
||||||
chip->errors[kcontrol->private_value] = 0;
|
chip->errors[kcontrol->private_value] = 0;
|
||||||
spin_unlock_irq(&chip->lock);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -235,14 +234,13 @@ static int snd_ak4113_rx_put(struct snd_kcontrol *kcontrol,
|
||||||
int change;
|
int change;
|
||||||
u8 old_val;
|
u8 old_val;
|
||||||
|
|
||||||
spin_lock_irq(&chip->lock);
|
guard(spinlock_irq)(&chip->lock);
|
||||||
old_val = chip->regmap[AK4113_REG_IO1];
|
old_val = chip->regmap[AK4113_REG_IO1];
|
||||||
change = ucontrol->value.integer.value[0] != AK4113_IPS(old_val);
|
change = ucontrol->value.integer.value[0] != AK4113_IPS(old_val);
|
||||||
if (change)
|
if (change)
|
||||||
reg_write(chip, AK4113_REG_IO1,
|
reg_write(chip, AK4113_REG_IO1,
|
||||||
(old_val & (~AK4113_IPS(0xff))) |
|
(old_val & (~AK4113_IPS(0xff))) |
|
||||||
(AK4113_IPS(ucontrol->value.integer.value[0])));
|
(AK4113_IPS(ucontrol->value.integer.value[0])));
|
||||||
spin_unlock_irq(&chip->lock);
|
|
||||||
return change;
|
return change;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -532,27 +530,27 @@ int snd_ak4113_check_rate_and_errors(struct ak4113 *ak4113, unsigned int flags)
|
||||||
goto __rate;
|
goto __rate;
|
||||||
rcs0 = reg_read(ak4113, AK4113_REG_RCS0);
|
rcs0 = reg_read(ak4113, AK4113_REG_RCS0);
|
||||||
rcs2 = reg_read(ak4113, AK4113_REG_RCS2);
|
rcs2 = reg_read(ak4113, AK4113_REG_RCS2);
|
||||||
spin_lock_irqsave(&ak4113->lock, _flags);
|
scoped_guard(spinlock_irqsave, &ak4113->lock) {
|
||||||
if (rcs0 & AK4113_PAR)
|
if (rcs0 & AK4113_PAR)
|
||||||
ak4113->errors[AK4113_PARITY_ERRORS]++;
|
ak4113->errors[AK4113_PARITY_ERRORS]++;
|
||||||
if (rcs0 & AK4113_V)
|
if (rcs0 & AK4113_V)
|
||||||
ak4113->errors[AK4113_V_BIT_ERRORS]++;
|
ak4113->errors[AK4113_V_BIT_ERRORS]++;
|
||||||
if (rcs2 & AK4113_CCRC)
|
if (rcs2 & AK4113_CCRC)
|
||||||
ak4113->errors[AK4113_CCRC_ERRORS]++;
|
ak4113->errors[AK4113_CCRC_ERRORS]++;
|
||||||
if (rcs2 & AK4113_QCRC)
|
if (rcs2 & AK4113_QCRC)
|
||||||
ak4113->errors[AK4113_QCRC_ERRORS]++;
|
ak4113->errors[AK4113_QCRC_ERRORS]++;
|
||||||
c0 = (ak4113->rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC |
|
c0 = (ak4113->rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC |
|
||||||
AK4113_AUDION | AK4113_AUTO | AK4113_UNLCK)) ^
|
AK4113_AUDION | AK4113_AUTO | AK4113_UNLCK)) ^
|
||||||
(rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC |
|
(rcs0 & (AK4113_QINT | AK4113_CINT | AK4113_STC |
|
||||||
AK4113_AUDION | AK4113_AUTO | AK4113_UNLCK));
|
AK4113_AUDION | AK4113_AUTO | AK4113_UNLCK));
|
||||||
c1 = (ak4113->rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM |
|
c1 = (ak4113->rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM |
|
||||||
AK4113_DAT | 0xf0)) ^
|
AK4113_DAT | 0xf0)) ^
|
||||||
(rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM |
|
(rcs1 & (AK4113_DTSCD | AK4113_NPCM | AK4113_PEM |
|
||||||
AK4113_DAT | 0xf0));
|
AK4113_DAT | 0xf0));
|
||||||
ak4113->rcs0 = rcs0 & ~(AK4113_QINT | AK4113_CINT | AK4113_STC);
|
ak4113->rcs0 = rcs0 & ~(AK4113_QINT | AK4113_CINT | AK4113_STC);
|
||||||
ak4113->rcs1 = rcs1;
|
ak4113->rcs1 = rcs1;
|
||||||
ak4113->rcs2 = rcs2;
|
ak4113->rcs2 = rcs2;
|
||||||
spin_unlock_irqrestore(&ak4113->lock, _flags);
|
}
|
||||||
|
|
||||||
if (rcs0 & AK4113_PAR)
|
if (rcs0 & AK4113_PAR)
|
||||||
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
|
snd_ctl_notify(ak4113->card, SNDRV_CTL_EVENT_MASK_VALUE,
|
||||||
|
|
|
||||||
|
|
@ -170,11 +170,10 @@ static int snd_ak4114_in_error_get(struct snd_kcontrol *kcontrol,
|
||||||
{
|
{
|
||||||
struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
|
struct ak4114 *chip = snd_kcontrol_chip(kcontrol);
|
||||||
|
|
||||||
spin_lock_irq(&chip->lock);
|
guard(spinlock_irq)(&chip->lock);
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
chip->errors[kcontrol->private_value];
|
chip->errors[kcontrol->private_value];
|
||||||
chip->errors[kcontrol->private_value] = 0;
|
chip->errors[kcontrol->private_value] = 0;
|
||||||
spin_unlock_irq(&chip->lock);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -552,21 +551,21 @@ int snd_ak4114_check_rate_and_errors(struct ak4114 *ak4114, unsigned int flags)
|
||||||
if (flags & AK4114_CHECK_NO_STAT)
|
if (flags & AK4114_CHECK_NO_STAT)
|
||||||
goto __rate;
|
goto __rate;
|
||||||
rcs0 = reg_read(ak4114, AK4114_REG_RCS0);
|
rcs0 = reg_read(ak4114, AK4114_REG_RCS0);
|
||||||
spin_lock_irqsave(&ak4114->lock, _flags);
|
scoped_guard(spinlock_irqsave, &ak4114->lock) {
|
||||||
if (rcs0 & AK4114_PAR)
|
if (rcs0 & AK4114_PAR)
|
||||||
ak4114->errors[AK4114_PARITY_ERRORS]++;
|
ak4114->errors[AK4114_PARITY_ERRORS]++;
|
||||||
if (rcs1 & AK4114_V)
|
if (rcs1 & AK4114_V)
|
||||||
ak4114->errors[AK4114_V_BIT_ERRORS]++;
|
ak4114->errors[AK4114_V_BIT_ERRORS]++;
|
||||||
if (rcs1 & AK4114_CCRC)
|
if (rcs1 & AK4114_CCRC)
|
||||||
ak4114->errors[AK4114_CCRC_ERRORS]++;
|
ak4114->errors[AK4114_CCRC_ERRORS]++;
|
||||||
if (rcs1 & AK4114_QCRC)
|
if (rcs1 & AK4114_QCRC)
|
||||||
ak4114->errors[AK4114_QCRC_ERRORS]++;
|
ak4114->errors[AK4114_QCRC_ERRORS]++;
|
||||||
c0 = (ak4114->rcs0 & (AK4114_QINT | AK4114_CINT | AK4114_PEM | AK4114_AUDION | AK4114_AUTO | AK4114_UNLCK)) ^
|
c0 = (ak4114->rcs0 & (AK4114_QINT | AK4114_CINT | AK4114_PEM | AK4114_AUDION | AK4114_AUTO | AK4114_UNLCK)) ^
|
||||||
(rcs0 & (AK4114_QINT | AK4114_CINT | AK4114_PEM | AK4114_AUDION | AK4114_AUTO | AK4114_UNLCK));
|
(rcs0 & (AK4114_QINT | AK4114_CINT | AK4114_PEM | AK4114_AUDION | AK4114_AUTO | AK4114_UNLCK));
|
||||||
c1 = (ak4114->rcs1 & 0xf0) ^ (rcs1 & 0xf0);
|
c1 = (ak4114->rcs1 & 0xf0) ^ (rcs1 & 0xf0);
|
||||||
ak4114->rcs0 = rcs0 & ~(AK4114_QINT | AK4114_CINT);
|
ak4114->rcs0 = rcs0 & ~(AK4114_QINT | AK4114_CINT);
|
||||||
ak4114->rcs1 = rcs1;
|
ak4114->rcs1 = rcs1;
|
||||||
spin_unlock_irqrestore(&ak4114->lock, _flags);
|
}
|
||||||
|
|
||||||
ak4114_notify(ak4114, rcs0, rcs1, c0, c1);
|
ak4114_notify(ak4114, rcs0, rcs1, c0, c1);
|
||||||
if (ak4114->change_callback && (c0 | c1) != 0)
|
if (ak4114->change_callback && (c0 | c1) != 0)
|
||||||
|
|
|
||||||
|
|
@ -144,11 +144,10 @@ static int snd_ak4117_in_error_get(struct snd_kcontrol *kcontrol,
|
||||||
{
|
{
|
||||||
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
|
struct ak4117 *chip = snd_kcontrol_chip(kcontrol);
|
||||||
|
|
||||||
spin_lock_irq(&chip->lock);
|
guard(spinlock_irq)(&chip->lock);
|
||||||
ucontrol->value.integer.value[0] =
|
ucontrol->value.integer.value[0] =
|
||||||
chip->errors[kcontrol->private_value];
|
chip->errors[kcontrol->private_value];
|
||||||
chip->errors[kcontrol->private_value] = 0;
|
chip->errors[kcontrol->private_value] = 0;
|
||||||
spin_unlock_irq(&chip->lock);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -192,12 +191,11 @@ static int snd_ak4117_rx_put(struct snd_kcontrol *kcontrol,
|
||||||
int change;
|
int change;
|
||||||
u8 old_val;
|
u8 old_val;
|
||||||
|
|
||||||
spin_lock_irq(&chip->lock);
|
guard(spinlock_irq)(&chip->lock);
|
||||||
old_val = chip->regmap[AK4117_REG_IO];
|
old_val = chip->regmap[AK4117_REG_IO];
|
||||||
change = !!ucontrol->value.integer.value[0] != ((old_val & AK4117_IPS) ? 1 : 0);
|
change = !!ucontrol->value.integer.value[0] != ((old_val & AK4117_IPS) ? 1 : 0);
|
||||||
if (change)
|
if (change)
|
||||||
reg_write(chip, AK4117_REG_IO, (old_val & ~AK4117_IPS) | (ucontrol->value.integer.value[0] ? AK4117_IPS : 0));
|
reg_write(chip, AK4117_REG_IO, (old_val & ~AK4117_IPS) | (ucontrol->value.integer.value[0] ? AK4117_IPS : 0));
|
||||||
spin_unlock_irq(&chip->lock);
|
|
||||||
return change;
|
return change;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -441,23 +439,23 @@ int snd_ak4117_check_rate_and_errors(struct ak4117 *ak4117, unsigned int flags)
|
||||||
goto __rate;
|
goto __rate;
|
||||||
rcs0 = reg_read(ak4117, AK4117_REG_RCS0);
|
rcs0 = reg_read(ak4117, AK4117_REG_RCS0);
|
||||||
rcs2 = reg_read(ak4117, AK4117_REG_RCS2);
|
rcs2 = reg_read(ak4117, AK4117_REG_RCS2);
|
||||||
spin_lock_irqsave(&ak4117->lock, _flags);
|
scoped_guard(spinlock_irqsave, &ak4117->lock) {
|
||||||
if (rcs0 & AK4117_PAR)
|
if (rcs0 & AK4117_PAR)
|
||||||
ak4117->errors[AK4117_PARITY_ERRORS]++;
|
ak4117->errors[AK4117_PARITY_ERRORS]++;
|
||||||
if (rcs0 & AK4117_V)
|
if (rcs0 & AK4117_V)
|
||||||
ak4117->errors[AK4117_V_BIT_ERRORS]++;
|
ak4117->errors[AK4117_V_BIT_ERRORS]++;
|
||||||
if (rcs2 & AK4117_CCRC)
|
if (rcs2 & AK4117_CCRC)
|
||||||
ak4117->errors[AK4117_CCRC_ERRORS]++;
|
ak4117->errors[AK4117_CCRC_ERRORS]++;
|
||||||
if (rcs2 & AK4117_QCRC)
|
if (rcs2 & AK4117_QCRC)
|
||||||
ak4117->errors[AK4117_QCRC_ERRORS]++;
|
ak4117->errors[AK4117_QCRC_ERRORS]++;
|
||||||
c0 = (ak4117->rcs0 & (AK4117_QINT | AK4117_CINT | AK4117_STC | AK4117_AUDION | AK4117_AUTO | AK4117_UNLCK)) ^
|
c0 = (ak4117->rcs0 & (AK4117_QINT | AK4117_CINT | AK4117_STC | AK4117_AUDION | AK4117_AUTO | AK4117_UNLCK)) ^
|
||||||
(rcs0 & (AK4117_QINT | AK4117_CINT | AK4117_STC | AK4117_AUDION | AK4117_AUTO | AK4117_UNLCK));
|
(rcs0 & (AK4117_QINT | AK4117_CINT | AK4117_STC | AK4117_AUDION | AK4117_AUTO | AK4117_UNLCK));
|
||||||
c1 = (ak4117->rcs1 & (AK4117_DTSCD | AK4117_NPCM | AK4117_PEM | 0x0f)) ^
|
c1 = (ak4117->rcs1 & (AK4117_DTSCD | AK4117_NPCM | AK4117_PEM | 0x0f)) ^
|
||||||
(rcs1 & (AK4117_DTSCD | AK4117_NPCM | AK4117_PEM | 0x0f));
|
(rcs1 & (AK4117_DTSCD | AK4117_NPCM | AK4117_PEM | 0x0f));
|
||||||
ak4117->rcs0 = rcs0 & ~(AK4117_QINT | AK4117_CINT | AK4117_STC);
|
ak4117->rcs0 = rcs0 & ~(AK4117_QINT | AK4117_CINT | AK4117_STC);
|
||||||
ak4117->rcs1 = rcs1;
|
ak4117->rcs1 = rcs1;
|
||||||
ak4117->rcs2 = rcs2;
|
ak4117->rcs2 = rcs2;
|
||||||
spin_unlock_irqrestore(&ak4117->lock, _flags);
|
}
|
||||||
|
|
||||||
if (rcs0 & AK4117_PAR)
|
if (rcs0 & AK4117_PAR)
|
||||||
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[0]->id);
|
snd_ctl_notify(ak4117->card, SNDRV_CTL_EVENT_MASK_VALUE, &ak4117->kctls[0]->id);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue