diff options
Diffstat (limited to 'cras/src/server/cras_alsa_ucm_section.c')
-rw-r--r-- | cras/src/server/cras_alsa_ucm_section.c | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/cras/src/server/cras_alsa_ucm_section.c b/cras/src/server/cras_alsa_ucm_section.c deleted file mode 100644 index d4df8c7d..00000000 --- a/cras/src/server/cras_alsa_ucm_section.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Copyright 2016 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <stdlib.h> -#include <string.h> -#include <syslog.h> - -#include "cras_alsa_ucm_section.h" -#include "cras_alsa_mixer_name.h" -#include "utlist.h" - -static void ucm_section_free(struct ucm_section *section) -{ - free((void *)section->name); - free((void *)section->pcm_name); - free((void *)section->jack_name); - free((void *)section->jack_type); - free((void *)section->mixer_name); - mixer_name_free(section->coupled); - free(section); -} - -void ucm_section_free_list(struct ucm_section *sections) -{ - struct ucm_section *section; - DL_FOREACH (sections, section) { - DL_DELETE(sections, section); - ucm_section_free(section); - } -} - -struct ucm_section *ucm_section_create(const char *name, const char *pcm_name, - int dev_idx, int dependent_dev_idx, - enum CRAS_STREAM_DIRECTION dir, - const char *jack_name, - const char *jack_type) -{ - struct ucm_section *section_list = NULL; - struct ucm_section *section; - - if (!name) - return NULL; - - section = (struct ucm_section *)calloc(1, sizeof(struct ucm_section)); - if (!section) - return NULL; - - section->dev_idx = dev_idx; - section->dependent_dev_idx = dependent_dev_idx; - section->dir = dir; - section->name = strdup(name); - if (!section->name) - goto error; - - section->pcm_name = strdup(pcm_name); - if (!section->pcm_name) - goto error; - - if (jack_name) { - section->jack_name = strdup(jack_name); - if (!section->jack_name) - goto error; - } - if (jack_type) { - section->jack_type = strdup(jack_type); - if (!section->jack_type) - goto error; - } - /* Default to -1 which means auto-detect. */ - section->jack_switch = -1; - - /* Make sure to initialize this item as a list. */ - DL_APPEND(section_list, section); - return section_list; - -error: - ucm_section_free(section); - return NULL; -} - -int ucm_section_set_mixer_name(struct ucm_section *section, const char *name) -{ - if (!section || !name) - return -EINVAL; - - if (section->mixer_name) - free((void *)section->mixer_name); - section->mixer_name = strdup(name); - if (!section->mixer_name) - return -ENOMEM; - return 0; -} - -int ucm_section_add_coupled(struct ucm_section *section, const char *name, - mixer_name_type type) -{ - struct mixer_name *m_name; - - if (!section || !name || type == MIXER_NAME_UNDEFINED) - return -EINVAL; - - m_name = mixer_name_add(NULL, name, section->dir, type); - if (!m_name) - return -ENOMEM; - DL_APPEND(section->coupled, m_name); - return 0; -} - -int ucm_section_concat_coupled(struct ucm_section *section, - struct mixer_name *coupled) -{ - if (!section || !coupled) - return -EINVAL; - DL_CONCAT(section->coupled, coupled); - return 0; -} - -void ucm_section_dump(struct ucm_section *section) -{ - syslog(LOG_DEBUG, "section: %s [%d] (%s)", section->name, - section->dev_idx, - section->dir == CRAS_STREAM_OUTPUT ? "output" : "input"); - syslog(LOG_DEBUG, " jack: %s %s", section->jack_name, - section->jack_type); - syslog(LOG_DEBUG, " mixer_name: %s", section->mixer_name); - mixer_name_dump(section->coupled, " coupled"); -} |