ASoC: core: Replace soc_find_matching_codec() with soc_find_codec()
soc_find_matching_codec() works in the same way as soc_find_codec() except that it only works for auxdevs. It can easily be replaced by the generic soc_find_codec(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
b8257be5ff
commit
48f466d112
@ -1649,32 +1649,13 @@ static void soc_unregister_ac97_dai_link(struct snd_soc_pcm_runtime *rtd)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct snd_soc_codec *soc_find_matching_codec(struct snd_soc_card *card,
|
|
||||||
int num)
|
|
||||||
{
|
|
||||||
struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
|
|
||||||
struct snd_soc_codec *codec;
|
|
||||||
|
|
||||||
/* find CODEC from registered CODECs */
|
|
||||||
list_for_each_entry(codec, &codec_list, list) {
|
|
||||||
if (aux_dev->codec_of_node &&
|
|
||||||
(codec->dev->of_node != aux_dev->codec_of_node))
|
|
||||||
continue;
|
|
||||||
if (aux_dev->codec_name &&
|
|
||||||
strcmp(codec->component.name, aux_dev->codec_name))
|
|
||||||
continue;
|
|
||||||
return codec;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int soc_check_aux_dev(struct snd_soc_card *card, int num)
|
static int soc_check_aux_dev(struct snd_soc_card *card, int num)
|
||||||
{
|
{
|
||||||
struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
|
struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
|
||||||
const char *codecname = aux_dev->codec_name;
|
const char *codecname = aux_dev->codec_name;
|
||||||
struct snd_soc_codec *codec = soc_find_matching_codec(card, num);
|
struct snd_soc_codec *codec;
|
||||||
|
|
||||||
|
codec = soc_find_codec(aux_dev->codec_of_node, aux_dev->codec_name);
|
||||||
if (codec)
|
if (codec)
|
||||||
return 0;
|
return 0;
|
||||||
if (aux_dev->codec_of_node)
|
if (aux_dev->codec_of_node)
|
||||||
@ -1689,8 +1670,9 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num)
|
|||||||
struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
|
struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
|
||||||
const char *codecname = aux_dev->codec_name;
|
const char *codecname = aux_dev->codec_name;
|
||||||
int ret = -ENODEV;
|
int ret = -ENODEV;
|
||||||
struct snd_soc_codec *codec = soc_find_matching_codec(card, num);
|
struct snd_soc_codec *codec;
|
||||||
|
|
||||||
|
codec = soc_find_codec(aux_dev->codec_of_node, aux_dev->codec_name);
|
||||||
if (!codec) {
|
if (!codec) {
|
||||||
if (aux_dev->codec_of_node)
|
if (aux_dev->codec_of_node)
|
||||||
codecname = of_node_full_name(aux_dev->codec_of_node);
|
codecname = of_node_full_name(aux_dev->codec_of_node);
|
||||||
|
Loading…
Reference in New Issue
Block a user