mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
ASoC: core: remove pointless auxiliary from snd_soc_component
commit1a653aa447
("ASoC: core: replace aux_comp_list to ...") tried to replace aux_comp_list to component_dev_list, but it failed because of binding timing. Thus, Sylwester fixuped it by commitd2e3a1358c
("ASoC: Fix binding and probing of auxiliary..."). One of main purpose of commit1a653aa447
("ASoC: core: replace...") was remove replaceable list (= list_aux) from snd_soc_component by using new "auxiliary" flags (but it failed). Because of this background, current code has reborned card_aux_list (= same as original list_aux), and almost pointless "auxiliary" flags. Let's remove pointless "auxiliary" flags by this patch This means, it is same as revert both commit1a653aa447
("ASoC: core: replace aux_comp_list to ...") and commitd2e3a1358c
("ASoC: Fix binding and probing of auxiliary..."). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ec5a82d6c0
commit
991454e170
@ -812,7 +812,6 @@ struct snd_soc_component {
|
|||||||
|
|
||||||
unsigned int ignore_pmdown_time:1; /* pmdown_time is ignored at stop */
|
unsigned int ignore_pmdown_time:1; /* pmdown_time is ignored at stop */
|
||||||
unsigned int registered_as_component:1;
|
unsigned int registered_as_component:1;
|
||||||
unsigned int auxiliary:1; /* for auxiliary component of the card */
|
|
||||||
unsigned int suspended:1; /* is in suspend PM state */
|
unsigned int suspended:1; /* is in suspend PM state */
|
||||||
|
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
|
@ -1776,7 +1776,6 @@ static int soc_bind_aux_dev(struct snd_soc_card *card, int num)
|
|||||||
}
|
}
|
||||||
|
|
||||||
component->init = aux_dev->init;
|
component->init = aux_dev->init;
|
||||||
component->auxiliary = 1;
|
|
||||||
list_add(&component->card_aux_list, &card->aux_comp_list);
|
list_add(&component->card_aux_list, &card->aux_comp_list);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1788,14 +1787,13 @@ err_defer:
|
|||||||
|
|
||||||
static int soc_probe_aux_devices(struct snd_soc_card *card)
|
static int soc_probe_aux_devices(struct snd_soc_card *card)
|
||||||
{
|
{
|
||||||
struct snd_soc_component *comp, *tmp;
|
struct snd_soc_component *comp;
|
||||||
int order;
|
int order;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
|
for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
|
||||||
order++) {
|
order++) {
|
||||||
list_for_each_entry_safe(comp, tmp, &card->aux_comp_list,
|
list_for_each_entry(comp, &card->aux_comp_list, card_aux_list) {
|
||||||
card_aux_list) {
|
|
||||||
if (comp->driver->probe_order == order) {
|
if (comp->driver->probe_order == order) {
|
||||||
ret = soc_probe_component(card, comp);
|
ret = soc_probe_component(card, comp);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
@ -1804,7 +1802,6 @@ static int soc_probe_aux_devices(struct snd_soc_card *card)
|
|||||||
comp->name, ret);
|
comp->name, ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
list_del(&comp->card_aux_list);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1820,14 +1817,12 @@ static void soc_remove_aux_devices(struct snd_soc_card *card)
|
|||||||
for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
|
for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
|
||||||
order++) {
|
order++) {
|
||||||
list_for_each_entry_safe(comp, _comp,
|
list_for_each_entry_safe(comp, _comp,
|
||||||
&card->component_dev_list, card_list) {
|
&card->aux_comp_list, card_aux_list) {
|
||||||
|
|
||||||
if (!comp->auxiliary)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (comp->driver->remove_order == order) {
|
if (comp->driver->remove_order == order) {
|
||||||
soc_remove_component(comp);
|
soc_remove_component(comp);
|
||||||
comp->auxiliary = 0;
|
/* remove it from the card's aux_comp_list */
|
||||||
|
list_del(&comp->card_aux_list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user