alsa-lib: ucm: allow values to be read from devices

This allows devices value to be read using the get_value().
Also fix a little formatting.

Signed-off-by: Margarita Olaya Cabrera <magi@slimlogic.co.uk>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Margarita Olaya 2011-03-18 11:26:22 -06:00 committed by Takashi Iwai
parent 8650c02ae2
commit ae0a44c628

View file

@ -1059,24 +1059,31 @@ static int get_value3(const char **value,
* \param uc_mgr Use case manager
* \param identifier Value identifier (string)
* \param value Returned value string
* \param modifier modifier name (string)
* \param item Modifier or Device name (string)
* \return Zero on success (value is filled), otherwise a negative error code
*/
static int get_value(snd_use_case_mgr_t *uc_mgr,
const char *identifier,
const char **value,
const char *modifier)
const char *item)
{
struct use_case_modifier *mod;
struct use_case_device *dev;
int err;
if (modifier != NULL) {
mod = find_modifier(uc_mgr, modifier);
if (item != NULL) {
mod = find_modifier(uc_mgr, item);
if (mod != NULL) {
err = get_value1(value, &mod->value_list, identifier);
if (err >= 0 || err != -ENOENT)
return err;
}
dev = find_device(uc_mgr->active_verb, item);
if (dev != NULL) {
err = get_value1(value, &dev->value_list, identifier);
if (err >= 0 || err != -ENOENT)
return err;
}
}
err = get_value1(value, &uc_mgr->active_verb->value_list, identifier);
if (err >= 0 || err != -ENOENT)