summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-dapm.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-02-18 08:11:42 +0100
committerMark Brown <broonie@linaro.org>2014-02-20 10:42:53 +0900
commit9a8d38db030f016bee45b927af02d9b46398ed46 (patch)
tree3f0e1d8e3d42778880caf5ac6f4bfef6e96dc5c0 /sound/soc/soc-dapm.c
parent38dbfb59d1175ef458d006556061adeaa8751b72 (diff)
downloadlinux-9a8d38db030f016bee45b927af02d9b46398ed46.tar.bz2
ASoC: Rename soc_enum.max field with items
The name "max" in struct soc_enum is rather confusing since it actually takes the number of items. With "max", one might try to assign (nitems - 1) value. Rename the field to a more appropriate one, "items", which is also used in struct snd_ctl_elem_info, too. This patch also rewrites some code like "if (x > e->nitems - 1)" with "if (x >= e->nitems)". Not only the latter improves the readability, it also fixes a potential bug when e->items is zero. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r--sound/soc/soc-dapm.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index dc8ff13187f7..2026a64a0afb 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -535,7 +535,7 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
soc_widget_read(w, e->reg, &val);
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;
else
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);
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])
break;
}
- if (item < e->max && !strcmp(p->name, e->texts[item]))
+ if (item < e->items && !strcmp(p->name, e->texts[item]))
p->connect = 1;
else
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;
int i;
- for (i = 0; i < e->max; i++) {
+ for (i = 0; i < e->items; i++) {
if (!(strcmp(control_name, e->texts[i]))) {
list_add(&path->list, &dapm->card->paths);
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;
int ret = 0;
- if (ucontrol->value.enumerated.item[0] > e->max - 1)
+ if (ucontrol->value.enumerated.item[0] >= e->items)
return -EINVAL;
mux = ucontrol->value.enumerated.item[0];
val = mux << e->shift_l;
mask = e->mask << e->shift_l;
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;
val |= ucontrol->value.enumerated.item[1] << 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 ret = 0;
- if (ucontrol->value.enumerated.item[0] >= e->max)
+ if (ucontrol->value.enumerated.item[0] >= e->items)
return -EINVAL;
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);
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])
break;
}
ucontrol->value.enumerated.item[0] = mux;
if (e->shift_l != e->shift_r) {
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])
break;
}
@@ -3119,13 +3119,13 @@ int snd_soc_dapm_put_value_enum_double(struct snd_kcontrol *kcontrol,
struct snd_soc_dapm_update update;
int ret = 0;
- if (ucontrol->value.enumerated.item[0] > e->max - 1)
+ if (ucontrol->value.enumerated.item[0] >= e->items)
return -EINVAL;
mux = ucontrol->value.enumerated.item[0];
val = e->values[ucontrol->value.enumerated.item[0]] << e->shift_l;
mask = e->mask << e->shift_l;
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;
val |= e->values[ucontrol->value.enumerated.item[1]] << e->shift_r;
mask |= e->mask << e->shift_r;