Loading sound/soc/soc-dapm.c +14 −12 Original line number Diff line number Diff line Loading @@ -1262,8 +1262,7 @@ static int dapm_mux_update_power(struct snd_soc_dapm_widget *widget, /* test and update the power status of a mixer or switch widget */ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, struct snd_kcontrol *kcontrol, int reg, int val_mask, int val, int invert) struct snd_kcontrol *kcontrol, int connect) { struct snd_soc_dapm_path *path; int found = 0; Loading @@ -1273,9 +1272,6 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, widget->id != snd_soc_dapm_switch) return -ENODEV; if (!snd_soc_test_bits(widget->codec, reg, val_mask, val)) return 0; /* find dapm widget path assoc with kcontrol */ list_for_each_entry(path, &widget->codec->dapm_paths, list) { if (path->kcontrol != kcontrol) Loading @@ -1283,12 +1279,7 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, /* found, now check type */ found = 1; if (val) /* new connection */ path->connect = invert ? 0:1; else /* old connection must be powered down */ path->connect = invert ? 1:0; path->connect = connect; break; } Loading Loading @@ -1695,6 +1686,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, unsigned int mask = (1 << fls(max)) - 1; unsigned int invert = mc->invert; unsigned int val, val2, val_mask; int connect; int ret; val = (ucontrol->value.integer.value[0] & mask); Loading @@ -1721,7 +1713,17 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, return 1; } dapm_mixer_update_power(widget, kcontrol, reg, val_mask, val, invert); if (snd_soc_test_bits(widget->codec, reg, val_mask, val)) { if (val) /* new connection */ connect = invert ? 0:1; else /* old connection must be powered down */ connect = invert ? 1:0; dapm_mixer_update_power(widget, kcontrol, connect); } if (widget->event) { if (widget->event_flags & SND_SOC_DAPM_PRE_REG) { ret = widget->event(widget, kcontrol, Loading Loading
sound/soc/soc-dapm.c +14 −12 Original line number Diff line number Diff line Loading @@ -1262,8 +1262,7 @@ static int dapm_mux_update_power(struct snd_soc_dapm_widget *widget, /* test and update the power status of a mixer or switch widget */ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, struct snd_kcontrol *kcontrol, int reg, int val_mask, int val, int invert) struct snd_kcontrol *kcontrol, int connect) { struct snd_soc_dapm_path *path; int found = 0; Loading @@ -1273,9 +1272,6 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, widget->id != snd_soc_dapm_switch) return -ENODEV; if (!snd_soc_test_bits(widget->codec, reg, val_mask, val)) return 0; /* find dapm widget path assoc with kcontrol */ list_for_each_entry(path, &widget->codec->dapm_paths, list) { if (path->kcontrol != kcontrol) Loading @@ -1283,12 +1279,7 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, /* found, now check type */ found = 1; if (val) /* new connection */ path->connect = invert ? 0:1; else /* old connection must be powered down */ path->connect = invert ? 1:0; path->connect = connect; break; } Loading Loading @@ -1695,6 +1686,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, unsigned int mask = (1 << fls(max)) - 1; unsigned int invert = mc->invert; unsigned int val, val2, val_mask; int connect; int ret; val = (ucontrol->value.integer.value[0] & mask); Loading @@ -1721,7 +1713,17 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, return 1; } dapm_mixer_update_power(widget, kcontrol, reg, val_mask, val, invert); if (snd_soc_test_bits(widget->codec, reg, val_mask, val)) { if (val) /* new connection */ connect = invert ? 0:1; else /* old connection must be powered down */ connect = invert ? 1:0; dapm_mixer_update_power(widget, kcontrol, connect); } if (widget->event) { if (widget->event_flags & SND_SOC_DAPM_PRE_REG) { ret = widget->event(widget, kcontrol, Loading