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 <[email protected]>
Acked-by: Jarkko Nikula <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
This commit is contained in:
Dimitris Papastamos 2010-12-02 14:53:03 +00:00 • committed by Mark Brown
commit ff819b8357
2 changed files with 18 additions and 10 deletions

View file

@ -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