Merge pull request #49 from vinodkoul/fixes

Allow setting of single byte control and make error from percent_to_int more consistent.
This commit is contained in:
Simon Wilson
2014-09-04 09:52:32 -07:00
+8 -7
View File
@@ -259,14 +259,11 @@ unsigned int mixer_ctl_get_num_values(struct mixer_ctl *ctl)
static int percent_to_int(struct snd_ctl_elem_info *ei, int percent)
{
int range;
if ((percent > 100) || (percent < 0)) {
return -EINVAL;
}
if (percent > 100)
percent = 100;
else if (percent < 0)
percent = 0;
range = (ei->value.integer.max - ei->value.integer.min);
int range = (ei->value.integer.max - ei->value.integer.min);
return ei->value.integer.min + (range * percent) / 100;
}
@@ -404,6 +401,10 @@ int mixer_ctl_set_value(struct mixer_ctl *ctl, unsigned int id, int value)
ev.value.enumerated.item[id] = value;
break;
case SNDRV_CTL_ELEM_TYPE_BYTES:
ev.value.bytes.data[id] = value;
break;
default:
return -EINVAL;
}