[alsa-devel] [PATCHv4] 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 --- 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)
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@slimlogic.co.uk Acked-by: Liam Girdwood lrg@ti.com
Committed now. 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) {
if (mod != NULL) { err = get_value1(value, &mod->value_list, identifier); if (err >= 0 || err != -ENOENT) return err; }mod = find_modifier(uc_mgr, item);
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
On Fri, Mar 18, 2011 at 11:36 AM, Takashi Iwai tiwai@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@slimlogic.co.uk Acked-by: Liam Girdwood lrg@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@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (2)
-
Margarita Olaya
-
Takashi Iwai