mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-03 09:01:52 -05:00
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:
parent
8650c02ae2
commit
ae0a44c628
1 changed files with 14 additions and 7 deletions
|
|
@ -1059,24 +1059,31 @@ static int get_value3(const char **value,
|
||||||
* \param uc_mgr Use case manager
|
* \param uc_mgr Use case manager
|
||||||
* \param identifier Value identifier (string)
|
* \param identifier Value identifier (string)
|
||||||
* \param value Returned value 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
|
* \return Zero on success (value is filled), otherwise a negative error code
|
||||||
*/
|
*/
|
||||||
static int get_value(snd_use_case_mgr_t *uc_mgr,
|
static int get_value(snd_use_case_mgr_t *uc_mgr,
|
||||||
const char *identifier,
|
const char *identifier,
|
||||||
const char **value,
|
const char **value,
|
||||||
const char *modifier)
|
const char *item)
|
||||||
{
|
{
|
||||||
struct use_case_modifier *mod;
|
struct use_case_modifier *mod;
|
||||||
|
struct use_case_device *dev;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (modifier != NULL) {
|
if (item != NULL) {
|
||||||
mod = find_modifier(uc_mgr, modifier);
|
mod = find_modifier(uc_mgr, item);
|
||||||
if (mod != NULL) {
|
if (mod != NULL) {
|
||||||
err = get_value1(value, &mod->value_list, identifier);
|
err = get_value1(value, &mod->value_list, identifier);
|
||||||
if (err >= 0 || err != -ENOENT)
|
if (err >= 0 || err != -ENOENT)
|
||||||
return err;
|
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);
|
err = get_value1(value, &uc_mgr->active_verb->value_list, identifier);
|
||||||
if (err >= 0 || err != -ENOENT)
|
if (err >= 0 || err != -ENOENT)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue