|
@@ -535,7 +535,7 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
|
|
soc_widget_read(w, e->reg, &val);
|
|
soc_widget_read(w, e->reg, &val);
|
|
item = (val >> e->shift_l) & e->mask;
|
|
item = (val >> e->shift_l) & e->mask;
|
|
|
|
|
|
- if (item < e->max && !strcmp(p->name, e->texts[item]))
|
|
|
|
|
|
+ if (item < e->items && !strcmp(p->name, e->texts[item]))
|
|
p->connect = 1;
|
|
p->connect = 1;
|
|
else
|
|
else
|
|
p->connect = 0;
|
|
p->connect = 0;
|
|
@@ -563,12 +563,12 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
|
|
|
|
|
|
soc_widget_read(w, e->reg, &val);
|
|
soc_widget_read(w, e->reg, &val);
|
|
val = (val >> e->shift_l) & e->mask;
|
|
val = (val >> e->shift_l) & e->mask;
|
|
- for (item = 0; item < e->max; item++) {
|
|
|
|
|
|
+ for (item = 0; item < e->items; item++) {
|
|
if (val == e->values[item])
|
|
if (val == e->values[item])
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
- if (item < e->max && !strcmp(p->name, e->texts[item]))
|
|
|
|
|
|
+ if (item < e->items && !strcmp(p->name, e->texts[item]))
|
|
p->connect = 1;
|
|
p->connect = 1;
|
|
else
|
|
else
|
|
p->connect = 0;
|
|
p->connect = 0;
|
|
@@ -616,7 +616,7 @@ static int dapm_connect_mux(struct snd_soc_dapm_context *dapm,
|
|
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
|
struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- for (i = 0; i < e->max; i++) {
|
|
|
|
|
|
+ for (i = 0; i < e->items; i++) {
|
|
if (!(strcmp(control_name, e->texts[i]))) {
|
|
if (!(strcmp(control_name, e->texts[i]))) {
|
|
list_add(&path->list, &dapm->card->paths);
|
|
list_add(&path->list, &dapm->card->paths);
|
|
list_add(&path->list_sink, &dest->sources);
|
|
list_add(&path->list_sink, &dest->sources);
|
|
@@ -2967,13 +2967,13 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol,
|
|
struct snd_soc_dapm_update update;
|
|
struct snd_soc_dapm_update update;
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
- if (ucontrol->value.enumerated.item[0] > e->max - 1)
|
|
|
|
|
|
+ if (ucontrol->value.enumerated.item[0] >= e->items)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
mux = ucontrol->value.enumerated.item[0];
|
|
mux = ucontrol->value.enumerated.item[0];
|
|
val = mux << e->shift_l;
|
|
val = mux << e->shift_l;
|
|
mask = e->mask << e->shift_l;
|
|
mask = e->mask << e->shift_l;
|
|
if (e->shift_l != e->shift_r) {
|
|
if (e->shift_l != e->shift_r) {
|
|
- if (ucontrol->value.enumerated.item[1] > e->max - 1)
|
|
|
|
|
|
+ if (ucontrol->value.enumerated.item[1] >= e->items)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
val |= ucontrol->value.enumerated.item[1] << e->shift_r;
|
|
val |= ucontrol->value.enumerated.item[1] << e->shift_r;
|
|
mask |= e->mask << e->shift_r;
|
|
mask |= e->mask << e->shift_r;
|
|
@@ -3036,7 +3036,7 @@ int snd_soc_dapm_put_enum_virt(struct snd_kcontrol *kcontrol,
|
|
int change;
|
|
int change;
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
- if (ucontrol->value.enumerated.item[0] >= e->max)
|
|
|
|
|
|
+ if (ucontrol->value.enumerated.item[0] >= e->items)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
mutex_lock_nested(&card->dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME);
|
|
mutex_lock_nested(&card->dapm_mutex, SND_SOC_DAPM_CLASS_RUNTIME);
|
|
@@ -3077,14 +3077,14 @@ int snd_soc_dapm_get_value_enum_double(struct snd_kcontrol *kcontrol,
|
|
|
|
|
|
reg_val = snd_soc_read(codec, e->reg);
|
|
reg_val = snd_soc_read(codec, e->reg);
|
|
val = (reg_val >> e->shift_l) & e->mask;
|
|
val = (reg_val >> e->shift_l) & e->mask;
|
|
- for (mux = 0; mux < e->max; mux++) {
|
|
|
|
|
|
+ for (mux = 0; mux < e->items; mux++) {
|
|
if (val == e->values[mux])
|
|
if (val == e->values[mux])
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
ucontrol->value.enumerated.item[0] = mux;
|
|
ucontrol->value.enumerated.item[0] = mux;
|
|
if (e->shift_l != e->shift_r) {
|
|
if (e->shift_l != e->shift_r) {
|
|
val = (reg_val >> e->shift_r) & e->mask;
|
|
val = (reg_val >> e->shift_r) & e->mask;
|
|
- for (mux = 0; mux < e->max; mux++) {
|
|
|
|
|
|
+ for (mux = 0; mux < e->items; mux++) {
|
|
if (val == e->values[mux])
|
|
if (val == e->values[mux])
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -3119,13 +3119,13 @@ int snd_soc_dapm_put_value_enum_double(struct snd_kcontrol *kcontrol,
|
|
struct snd_soc_dapm_update update;
|
|
struct snd_soc_dapm_update update;
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
- if (ucontrol->value.enumerated.item[0] > e->max - 1)
|
|
|
|
|
|
+ if (ucontrol->value.enumerated.item[0] >= e->items)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
mux = ucontrol->value.enumerated.item[0];
|
|
mux = ucontrol->value.enumerated.item[0];
|
|
val = e->values[ucontrol->value.enumerated.item[0]] << e->shift_l;
|
|
val = e->values[ucontrol->value.enumerated.item[0]] << e->shift_l;
|
|
mask = e->mask << e->shift_l;
|
|
mask = e->mask << e->shift_l;
|
|
if (e->shift_l != e->shift_r) {
|
|
if (e->shift_l != e->shift_r) {
|
|
- if (ucontrol->value.enumerated.item[1] > e->max - 1)
|
|
|
|
|
|
+ if (ucontrol->value.enumerated.item[1] >= e->items)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
val |= e->values[ucontrol->value.enumerated.item[1]] << e->shift_r;
|
|
val |= e->values[ucontrol->value.enumerated.item[1]] << e->shift_r;
|
|
mask |= e->mask << e->shift_r;
|
|
mask |= e->mask << e->shift_r;
|