[alsa-devel] [PATCHv4] alsa-lib: ucm: allow values to be read from devices

Margarita Olaya magi at slimlogic.co.uk
Fri Mar 18 18:45:57 CET 2011


On Fri, Mar 18, 2011 at 11:36 AM, Takashi Iwai <tiwai at suse.de> wrote:
> At Fri, 18 Mar 2011 11:26:22 -0600,
> Margarita Olaya wrote:
>>
>> This allows devices value to be read using the get_value().
>> Also fix a little formatting.
>>
>> Signed-off-by: Margarita Olaya Cabrera <magi at slimlogic.co.uk>
>> Acked-by: Liam Girdwood <lrg at ti.com>
>
> Committed now.  Thanks.
>

Thanks :)

>
> Takashi
>
>> ---
>>  src/ucm/main.c |   21 ++++++++++++++-------
>>  1 files changed, 14 insertions(+), 7 deletions(-)
>>
>> diff --git a/src/ucm/main.c b/src/ucm/main.c
>> index 42fd373..88f8bf6 100644
>> --- a/src/ucm/main.c
>> +++ b/src/ucm/main.c
>> @@ -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 *identifier,
>> +                     const char **value,
>> +                     const char *item)
>>  {
>> -        struct use_case_modifier *mod;
>> +     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)
>> --
>> 1.7.0.4
>>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>


More information about the Alsa-devel mailing list