ASoC: Add function to register component controls
We have now everything in place to actual let a component register controls. Add a function which allows to do so. Also update snd_soc_add_codec_controls() and snd_soc_platform_controls() to use this new function internally. And while we are at it also change the num_controls parameter of those two functions from int to unsigned int. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
00200107a2
commit
0f2780ad4c
|
@ -507,10 +507,12 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template,
|
|||
const char *prefix);
|
||||
struct snd_kcontrol *snd_soc_card_get_kcontrol(struct snd_soc_card *soc_card,
|
||||
const char *name);
|
||||
int snd_soc_add_component_controls(struct snd_soc_component *component,
|
||||
const struct snd_kcontrol_new *controls, unsigned int num_controls);
|
||||
int snd_soc_add_codec_controls(struct snd_soc_codec *codec,
|
||||
const struct snd_kcontrol_new *controls, int num_controls);
|
||||
const struct snd_kcontrol_new *controls, unsigned int num_controls);
|
||||
int snd_soc_add_platform_controls(struct snd_soc_platform *platform,
|
||||
const struct snd_kcontrol_new *controls, int num_controls);
|
||||
const struct snd_kcontrol_new *controls, unsigned int num_controls);
|
||||
int snd_soc_add_card_controls(struct snd_soc_card *soc_card,
|
||||
const struct snd_kcontrol_new *controls, int num_controls);
|
||||
int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
|
||||
|
|
|
@ -2393,6 +2393,25 @@ struct snd_kcontrol *snd_soc_card_get_kcontrol(struct snd_soc_card *soc_card,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_card_get_kcontrol);
|
||||
|
||||
/**
|
||||
* snd_soc_add_component_controls - Add an array of controls to a component.
|
||||
*
|
||||
* @component: Component to add controls to
|
||||
* @controls: Array of controls to add
|
||||
* @num_controls: Number of elements in the array
|
||||
*
|
||||
* Return: 0 for success, else error.
|
||||
*/
|
||||
int snd_soc_add_component_controls(struct snd_soc_component *component,
|
||||
const struct snd_kcontrol_new *controls, unsigned int num_controls)
|
||||
{
|
||||
struct snd_card *card = component->card->snd_card;
|
||||
|
||||
return snd_soc_add_controls(card, component->dev, controls,
|
||||
num_controls, component->name_prefix, component);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_add_component_controls);
|
||||
|
||||
/**
|
||||
* snd_soc_add_codec_controls - add an array of controls to a codec.
|
||||
* Convenience function to add a list of controls. Many codecs were
|
||||
|
@ -2405,12 +2424,10 @@ EXPORT_SYMBOL_GPL(snd_soc_card_get_kcontrol);
|
|||
* Return 0 for success, else error.
|
||||
*/
|
||||
int snd_soc_add_codec_controls(struct snd_soc_codec *codec,
|
||||
const struct snd_kcontrol_new *controls, int num_controls)
|
||||
const struct snd_kcontrol_new *controls, unsigned int num_controls)
|
||||
{
|
||||
struct snd_card *card = codec->component.card->snd_card;
|
||||
|
||||
return snd_soc_add_controls(card, codec->dev, controls, num_controls,
|
||||
codec->component.name_prefix, &codec->component);
|
||||
return snd_soc_add_component_controls(&codec->component, controls,
|
||||
num_controls);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_add_codec_controls);
|
||||
|
||||
|
@ -2425,12 +2442,10 @@ EXPORT_SYMBOL_GPL(snd_soc_add_codec_controls);
|
|||
* Return 0 for success, else error.
|
||||
*/
|
||||
int snd_soc_add_platform_controls(struct snd_soc_platform *platform,
|
||||
const struct snd_kcontrol_new *controls, int num_controls)
|
||||
const struct snd_kcontrol_new *controls, unsigned int num_controls)
|
||||
{
|
||||
struct snd_card *card = platform->component.card->snd_card;
|
||||
|
||||
return snd_soc_add_controls(card, platform->dev, controls, num_controls,
|
||||
NULL, &platform->component);
|
||||
return snd_soc_add_component_controls(&platform->component, controls,
|
||||
num_controls);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_add_platform_controls);
|
||||
|
||||
|
|
Loading…
Reference in New Issue