Commit 250a15cf authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: soc-core: remove bus_control

Now, snd_soc_dai_driver::bus_control is used for how to resume.
But, no driver which has bus_control has DAI driver suspend/resume
support.
This patch removes pointless bus_control from ALSA SoC.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pnffx7i4.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 450312b6
...@@ -302,7 +302,6 @@ struct snd_soc_dai_driver { ...@@ -302,7 +302,6 @@ struct snd_soc_dai_driver {
unsigned int symmetric_rates:1; unsigned int symmetric_rates:1;
unsigned int symmetric_channels:1; unsigned int symmetric_channels:1;
unsigned int symmetric_samplebits:1; unsigned int symmetric_samplebits:1;
unsigned int bus_control:1; /* DAI is also used for the control bus */
/* probe ordering - for components with runtime dependencies */ /* probe ordering - for components with runtime dependencies */
int probe_order; int probe_order;
......
...@@ -206,7 +206,6 @@ static int au1xac97c_dai_probe(struct snd_soc_dai *dai) ...@@ -206,7 +206,6 @@ static int au1xac97c_dai_probe(struct snd_soc_dai *dai)
static struct snd_soc_dai_driver au1xac97c_dai_driver = { static struct snd_soc_dai_driver au1xac97c_dai_driver = {
.name = "alchemy-ac97c", .name = "alchemy-ac97c",
.bus_control = true,
.probe = au1xac97c_dai_probe, .probe = au1xac97c_dai_probe,
.playback = { .playback = {
.rates = AC97_RATES, .rates = AC97_RATES,
......
...@@ -339,7 +339,6 @@ static const struct snd_soc_dai_ops au1xpsc_ac97_dai_ops = { ...@@ -339,7 +339,6 @@ static const struct snd_soc_dai_ops au1xpsc_ac97_dai_ops = {
}; };
static const struct snd_soc_dai_driver au1xpsc_ac97_dai_template = { static const struct snd_soc_dai_driver au1xpsc_ac97_dai_template = {
.bus_control = true,
.probe = au1xpsc_ac97_probe, .probe = au1xpsc_ac97_probe,
.playback = { .playback = {
.rates = AC97_RATES, .rates = AC97_RATES,
......
...@@ -336,7 +336,6 @@ static const struct snd_soc_dai_ops ep93xx_ac97_dai_ops = { ...@@ -336,7 +336,6 @@ static const struct snd_soc_dai_ops ep93xx_ac97_dai_ops = {
static struct snd_soc_dai_driver ep93xx_ac97_dai = { static struct snd_soc_dai_driver ep93xx_ac97_dai = {
.name = "ep93xx-ac97", .name = "ep93xx-ac97",
.id = 0, .id = 0,
.bus_control = true,
.probe = ep93xx_ac97_dai_probe, .probe = ep93xx_ac97_dai_probe,
.playback = { .playback = {
.stream_name = "AC97 Playback", .stream_name = "AC97 Playback",
......
...@@ -1136,7 +1136,6 @@ static const struct snd_soc_component_driver fsl_ssi_component = { ...@@ -1136,7 +1136,6 @@ static const struct snd_soc_component_driver fsl_ssi_component = {
}; };
static struct snd_soc_dai_driver fsl_ssi_ac97_dai = { static struct snd_soc_dai_driver fsl_ssi_ac97_dai = {
.bus_control = true,
.symmetric_channels = 1, .symmetric_channels = 1,
.probe = fsl_ssi_dai_probe, .probe = fsl_ssi_dai_probe,
.playback = { .playback = {
......
...@@ -373,7 +373,6 @@ static struct snd_soc_dai_driver imx_ssi_dai = { ...@@ -373,7 +373,6 @@ static struct snd_soc_dai_driver imx_ssi_dai = {
static struct snd_soc_dai_driver imx_ac97_dai = { static struct snd_soc_dai_driver imx_ac97_dai = {
.probe = imx_ssi_dai_probe, .probe = imx_ssi_dai_probe,
.bus_control = true,
.playback = { .playback = {
.stream_name = "AC97 Playback", .stream_name = "AC97 Playback",
.channels_min = 2, .channels_min = 2,
......
...@@ -233,7 +233,6 @@ static const struct snd_soc_dai_ops psc_ac97_digital_ops = { ...@@ -233,7 +233,6 @@ static const struct snd_soc_dai_ops psc_ac97_digital_ops = {
static struct snd_soc_dai_driver psc_ac97_dai[] = { static struct snd_soc_dai_driver psc_ac97_dai[] = {
{ {
.name = "mpc5200-psc-ac97.0", .name = "mpc5200-psc-ac97.0",
.bus_control = true,
.probe = psc_ac97_probe, .probe = psc_ac97_probe,
.playback = { .playback = {
.stream_name = "AC97 Playback", .stream_name = "AC97 Playback",
...@@ -253,7 +252,6 @@ static struct snd_soc_dai_driver psc_ac97_dai[] = { ...@@ -253,7 +252,6 @@ static struct snd_soc_dai_driver psc_ac97_dai[] = {
}, },
{ {
.name = "mpc5200-psc-ac97.1", .name = "mpc5200-psc-ac97.1",
.bus_control = true,
.playback = { .playback = {
.stream_name = "AC97 SPDIF", .stream_name = "AC97 SPDIF",
.channels_min = 1, .channels_min = 1,
......
...@@ -157,7 +157,6 @@ static const struct snd_soc_dai_ops pxa_ac97_mic_dai_ops = { ...@@ -157,7 +157,6 @@ static const struct snd_soc_dai_ops pxa_ac97_mic_dai_ops = {
static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = { static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = {
{ {
.name = "pxa2xx-ac97", .name = "pxa2xx-ac97",
.bus_control = true,
.playback = { .playback = {
.stream_name = "AC97 Playback", .stream_name = "AC97 Playback",
.channels_min = 2, .channels_min = 2,
...@@ -174,7 +173,6 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = { ...@@ -174,7 +173,6 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = {
}, },
{ {
.name = "pxa2xx-ac97-aux", .name = "pxa2xx-ac97-aux",
.bus_control = true,
.playback = { .playback = {
.stream_name = "AC97 Aux Playback", .stream_name = "AC97 Aux Playback",
.channels_min = 1, .channels_min = 1,
...@@ -191,7 +189,6 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = { ...@@ -191,7 +189,6 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = {
}, },
{ {
.name = "pxa2xx-ac97-mic", .name = "pxa2xx-ac97-mic",
.bus_control = true,
.capture = { .capture = {
.stream_name = "AC97 Mic Capture", .stream_name = "AC97 Mic Capture",
.channels_min = 1, .channels_min = 1,
......
...@@ -270,7 +270,6 @@ static const struct snd_soc_dai_ops hac_dai_ops = { ...@@ -270,7 +270,6 @@ static const struct snd_soc_dai_ops hac_dai_ops = {
static struct snd_soc_dai_driver sh4_hac_dai[] = { static struct snd_soc_dai_driver sh4_hac_dai[] = {
{ {
.name = "hac-dai.0", .name = "hac-dai.0",
.bus_control = true,
.playback = { .playback = {
.rates = AC97_RATES, .rates = AC97_RATES,
.formats = AC97_FMTS, .formats = AC97_FMTS,
......
...@@ -712,8 +712,6 @@ static void soc_resume_deferred(struct work_struct *work) ...@@ -712,8 +712,6 @@ static void soc_resume_deferred(struct work_struct *work)
int snd_soc_resume(struct device *dev) int snd_soc_resume(struct device *dev)
{ {
struct snd_soc_card *card = dev_get_drvdata(dev); struct snd_soc_card *card = dev_get_drvdata(dev);
bool bus_control = false;
struct snd_soc_pcm_runtime *rtd;
struct snd_soc_component *component; struct snd_soc_component *component;
/* If the card is not initialized yet there is nothing to do */ /* If the card is not initialized yet there is nothing to do */
...@@ -725,25 +723,9 @@ int snd_soc_resume(struct device *dev) ...@@ -725,25 +723,9 @@ int snd_soc_resume(struct device *dev)
if (component->active) if (component->active)
pinctrl_pm_select_default_state(component->dev); pinctrl_pm_select_default_state(component->dev);
/* dev_dbg(dev, "ASoC: Scheduling resume work\n");
* DAIs that also act as the control bus master might have other drivers if (!schedule_work(&card->deferred_resume_work))
* hanging off them so need to resume immediately. Other drivers don't dev_err(dev, "ASoC: resume work item may be lost\n");
* have that problem and may take a substantial amount of time to resume
* due to I/O costs and anti-pop so handle them out of line.
*/
for_each_card_rtds(card, rtd) {
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
bus_control |= cpu_dai->driver->bus_control;
}
if (bus_control) {
dev_dbg(dev, "ASoC: Resuming control bus master immediately\n");
soc_resume_deferred(&card->deferred_resume_work);
} else {
dev_dbg(dev, "ASoC: Scheduling resume work\n");
if (!schedule_work(&card->deferred_resume_work))
dev_err(dev, "ASoC: resume work item may be lost\n");
}
return 0; return 0;
} }
......
...@@ -219,7 +219,6 @@ static int tegra20_ac97_probe(struct snd_soc_dai *dai) ...@@ -219,7 +219,6 @@ static int tegra20_ac97_probe(struct snd_soc_dai *dai)
static struct snd_soc_dai_driver tegra20_ac97_dai = { static struct snd_soc_dai_driver tegra20_ac97_dai = {
.name = "tegra-ac97-pcm", .name = "tegra-ac97-pcm",
.bus_control = true,
.probe = tegra20_ac97_probe, .probe = tegra20_ac97_probe,
.playback = { .playback = {
.stream_name = "PCM Playback", .stream_name = "PCM Playback",
......
...@@ -148,7 +148,6 @@ static int txx9aclc_ac97_remove(struct snd_soc_dai *dai) ...@@ -148,7 +148,6 @@ static int txx9aclc_ac97_remove(struct snd_soc_dai *dai)
} }
static struct snd_soc_dai_driver txx9aclc_ac97_dai = { static struct snd_soc_dai_driver txx9aclc_ac97_dai = {
.bus_control = true,
.probe = txx9aclc_ac97_probe, .probe = txx9aclc_ac97_probe,
.remove = txx9aclc_ac97_remove, .remove = txx9aclc_ac97_remove,
.playback = { .playback = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment