summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorDimitris Papastamos <dp@opensource.wolfsonmicro.com>2010-12-02 15:53:03 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-12-03 17:36:45 +0100
commitff819b8357df0ca9903ff7c9ad518b949c410123 (patch)
tree610ef8b2d54813bc87fe6bf037bd89ed351d89e9 /include/sound
parentASoC: Change the base value of compress_type (diff)
downloadlinux-ff819b8357df0ca9903ff7c9ad518b949c410123.tar.xz
linux-ff819b8357df0ca9903ff7c9ad518b949c410123.zip
ASoC: soc-core: Generalize snd_soc_prefix_map and rename to snd_soc_codec_conf
The snd_soc_codec_conf struct now holds codec specific configuration information. A new configuration option has been added to allow machine drivers to override the compression type set by the codec driver. In the absence of providing an snd_soc_codec_conf struct or when providing one but not setting the compress_type member to anything, the one supplied by the codec driver will be used instead. In all other cases the one set in the snd_soc_codec_conf struct takes effect. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 24db9101c87d..cf76021f04a7 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