summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sound/soc.h22
-rw-r--r--sound/soc/soc-core.c6
2 files changed, 18 insertions, 10 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 24db910..cf76021 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -581,9 +581,20 @@ struct snd_soc_dai_link {
struct snd_soc_ops *ops;
};
-struct snd_soc_prefix_map {
+struct snd_soc_codec_conf {
const char *dev_name;
+
+ /*
+ * optional map of kcontrol, widget and path name prefixes that are
+ * associated per device
+ */
const char *name_prefix;
+
+ /*
+ * set this to the desired compression type if you want to
+ * override the one supplied in codec->driver->compress_type
+ */
+ enum snd_soc_compress_type compress_type;
};
struct snd_soc_aux_dev {
@@ -628,12 +639,9 @@ struct snd_soc_card {
struct snd_soc_pcm_runtime *rtd;
int num_rtd;
- /*
- * optional map of kcontrol, widget and path name prefixes that are
- * associated per device
- */
- struct snd_soc_prefix_map *prefix_map;
- int num_prefixes;
+ /* optional codec specific configuration */
+ struct snd_soc_codec_conf *codec_conf;
+ int num_configs;
/*
* optional auxiliary devices such as amplifiers or codecs with DAI
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 1fd1d1a..4649db6 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1401,11 +1401,11 @@ static void soc_set_name_prefix(struct snd_soc_card *card,
{
int i;
- if (card->prefix_map == NULL)
+ if (card->codec_conf == NULL)
return;
- for (i = 0; i < card->num_prefixes; i++) {
- struct snd_soc_prefix_map *map = &card->prefix_map[i];
+ for (i = 0; i < card->num_configs; i++) {
+ struct snd_soc_codec_conf *map = &card->codec_conf[i];
if (map->dev_name && !strcmp(codec->name, map->dev_name)) {
codec->name_prefix = map->name_prefix;
break;