Loading sound/soc/soc-dapm.c +16 −13 Original line number Original line Diff line number Diff line Loading @@ -2755,7 +2755,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, unsigned int mask = (1 << fls(max)) - 1; unsigned int mask = (1 << fls(max)) - 1; unsigned int invert = mc->invert; unsigned int invert = mc->invert; unsigned int val; unsigned int val; int connect, change; int connect, change, reg_change = 0; struct snd_soc_dapm_update update; struct snd_soc_dapm_update update; int ret = 0; int ret = 0; Loading @@ -2773,20 +2773,23 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, mutex_lock_nested(&card->dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME); mutex_lock_nested(&card->dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME); change = dapm_kcontrol_set_value(kcontrol, val); change = dapm_kcontrol_set_value(kcontrol, val); if (change) { if (reg != SND_SOC_NOPM) { if (reg != SND_SOC_NOPM) { mask = mask << shift; mask = mask << shift; val = val << shift; val = val << shift; if (snd_soc_test_bits(codec, reg, mask, val)) { reg_change = snd_soc_test_bits(codec, reg, mask, val); } if (change || reg_change) { if (reg_change) { update.kcontrol = kcontrol; update.kcontrol = kcontrol; update.reg = reg; update.reg = reg; update.mask = mask; update.mask = mask; update.val = val; update.val = val; card->update = &update; card->update = &update; } } change |= reg_change; } ret = soc_dapm_mixer_update_power(card, kcontrol, connect); ret = soc_dapm_mixer_update_power(card, kcontrol, connect); Loading Loading
sound/soc/soc-dapm.c +16 −13 Original line number Original line Diff line number Diff line Loading @@ -2755,7 +2755,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, unsigned int mask = (1 << fls(max)) - 1; unsigned int mask = (1 << fls(max)) - 1; unsigned int invert = mc->invert; unsigned int invert = mc->invert; unsigned int val; unsigned int val; int connect, change; int connect, change, reg_change = 0; struct snd_soc_dapm_update update; struct snd_soc_dapm_update update; int ret = 0; int ret = 0; Loading @@ -2773,20 +2773,23 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, mutex_lock_nested(&card->dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME); mutex_lock_nested(&card->dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME); change = dapm_kcontrol_set_value(kcontrol, val); change = dapm_kcontrol_set_value(kcontrol, val); if (change) { if (reg != SND_SOC_NOPM) { if (reg != SND_SOC_NOPM) { mask = mask << shift; mask = mask << shift; val = val << shift; val = val << shift; if (snd_soc_test_bits(codec, reg, mask, val)) { reg_change = snd_soc_test_bits(codec, reg, mask, val); } if (change || reg_change) { if (reg_change) { update.kcontrol = kcontrol; update.kcontrol = kcontrol; update.reg = reg; update.reg = reg; update.mask = mask; update.mask = mask; update.val = val; update.val = val; card->update = &update; card->update = &update; } } change |= reg_change; } ret = soc_dapm_mixer_update_power(card, kcontrol, connect); ret = soc_dapm_mixer_update_power(card, kcontrol, connect); Loading