diff options
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r-- | sound/soc/soc-dapm.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index bbdca0dacba6..f08be8a329e9 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -125,13 +125,13 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w, | |||
125 | struct soc_enum *e = (struct soc_enum *)w->kcontrols[i].private_value; | 125 | struct soc_enum *e = (struct soc_enum *)w->kcontrols[i].private_value; |
126 | int val, item, bitmask; | 126 | int val, item, bitmask; |
127 | 127 | ||
128 | for (bitmask = 1; bitmask < e->mask; bitmask <<= 1) | 128 | for (bitmask = 1; bitmask < e->max; bitmask <<= 1) |
129 | ; | 129 | ; |
130 | val = snd_soc_read(w->codec, e->reg); | 130 | val = snd_soc_read(w->codec, e->reg); |
131 | item = (val >> e->shift_l) & (bitmask - 1); | 131 | item = (val >> e->shift_l) & (bitmask - 1); |
132 | 132 | ||
133 | p->connect = 0; | 133 | p->connect = 0; |
134 | for (i = 0; i < e->mask; i++) { | 134 | for (i = 0; i < e->max; i++) { |
135 | if (!(strcmp(p->name, e->texts[i])) && item == i) | 135 | if (!(strcmp(p->name, e->texts[i])) && item == i) |
136 | p->connect = 1; | 136 | p->connect = 1; |
137 | } | 137 | } |
@@ -168,7 +168,7 @@ static int dapm_connect_mux(struct snd_soc_codec *codec, | |||
168 | struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; | 168 | struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; |
169 | int i; | 169 | int i; |
170 | 170 | ||
171 | for (i = 0; i < e->mask; i++) { | 171 | for (i = 0; i < e->max; i++) { |
172 | if (!(strcmp(control_name, e->texts[i]))) { | 172 | if (!(strcmp(control_name, e->texts[i]))) { |
173 | list_add(&path->list, &codec->dapm_paths); | 173 | list_add(&path->list, &codec->dapm_paths); |
174 | list_add(&path->list_sink, &dest->sources); | 174 | list_add(&path->list_sink, &dest->sources); |
@@ -1258,7 +1258,7 @@ int snd_soc_dapm_get_enum_double(struct snd_kcontrol *kcontrol, | |||
1258 | struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; | 1258 | struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; |
1259 | unsigned short val, bitmask; | 1259 | unsigned short val, bitmask; |
1260 | 1260 | ||
1261 | for (bitmask = 1; bitmask < e->mask; bitmask <<= 1) | 1261 | for (bitmask = 1; bitmask < e->max; bitmask <<= 1) |
1262 | ; | 1262 | ; |
1263 | val = snd_soc_read(widget->codec, e->reg); | 1263 | val = snd_soc_read(widget->codec, e->reg); |
1264 | ucontrol->value.enumerated.item[0] = (val >> e->shift_l) & (bitmask - 1); | 1264 | ucontrol->value.enumerated.item[0] = (val >> e->shift_l) & (bitmask - 1); |
@@ -1288,15 +1288,15 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol, | |||
1288 | unsigned short mask, bitmask; | 1288 | unsigned short mask, bitmask; |
1289 | int ret = 0; | 1289 | int ret = 0; |
1290 | 1290 | ||
1291 | for (bitmask = 1; bitmask < e->mask; bitmask <<= 1) | 1291 | for (bitmask = 1; bitmask < e->max; bitmask <<= 1) |
1292 | ; | 1292 | ; |
1293 | if (ucontrol->value.enumerated.item[0] > e->mask - 1) | 1293 | if (ucontrol->value.enumerated.item[0] > e->max - 1) |
1294 | return -EINVAL; | 1294 | return -EINVAL; |
1295 | mux = ucontrol->value.enumerated.item[0]; | 1295 | mux = ucontrol->value.enumerated.item[0]; |
1296 | val = mux << e->shift_l; | 1296 | val = mux << e->shift_l; |
1297 | mask = (bitmask - 1) << e->shift_l; | 1297 | mask = (bitmask - 1) << e->shift_l; |
1298 | if (e->shift_l != e->shift_r) { | 1298 | if (e->shift_l != e->shift_r) { |
1299 | if (ucontrol->value.enumerated.item[1] > e->mask - 1) | 1299 | if (ucontrol->value.enumerated.item[1] > e->max - 1) |
1300 | return -EINVAL; | 1300 | return -EINVAL; |
1301 | val |= ucontrol->value.enumerated.item[1] << e->shift_r; | 1301 | val |= ucontrol->value.enumerated.item[1] << e->shift_r; |
1302 | mask |= (bitmask - 1) << e->shift_r; | 1302 | mask |= (bitmask - 1) << e->shift_r; |