forked from Minki/linux
ASoC: Move active count from CODEC to component
There is no reason why active count tracking should only be done for CODECs but not for other components. Moving the active count from the snd_soc_codec struct to the snd_soc_component struct reduces the differences between CODECs and other components and will eventually allow component to component DAI links (Which is a prerequisite for converting CODECs to components). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
6106d12947
commit
cdde4ccb14
@ -660,6 +660,9 @@ struct snd_soc_component {
|
||||
const char *name;
|
||||
int id;
|
||||
struct device *dev;
|
||||
|
||||
unsigned int active;
|
||||
|
||||
struct list_head list;
|
||||
|
||||
struct snd_soc_dai_driver *dai_drv;
|
||||
@ -687,7 +690,6 @@ struct snd_soc_codec {
|
||||
|
||||
/* runtime */
|
||||
struct snd_ac97 *ac97; /* for ad-hoc ac97 devices */
|
||||
unsigned int active;
|
||||
unsigned int cache_bypass:1; /* Suppress access to the cache */
|
||||
unsigned int suspended:1; /* Codec is in suspend PM state */
|
||||
unsigned int probed:1; /* Codec has been probed */
|
||||
@ -1172,9 +1174,15 @@ static inline bool snd_soc_volsw_is_stereo(struct soc_mixer_control *mc)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline bool snd_soc_component_is_active(
|
||||
struct snd_soc_component *component)
|
||||
{
|
||||
return component->active != 0;
|
||||
}
|
||||
|
||||
static inline bool snd_soc_codec_is_active(struct snd_soc_codec *codec)
|
||||
{
|
||||
return codec->active != 0;
|
||||
return snd_soc_component_is_active(&codec->component);
|
||||
}
|
||||
|
||||
int snd_soc_util_init(void);
|
||||
|
@ -61,9 +61,8 @@ void snd_soc_runtime_activate(struct snd_soc_pcm_runtime *rtd, int stream)
|
||||
|
||||
cpu_dai->active++;
|
||||
codec_dai->active++;
|
||||
if (cpu_dai->codec)
|
||||
cpu_dai->codec->active++;
|
||||
codec_dai->codec->active++;
|
||||
cpu_dai->component->active++;
|
||||
codec_dai->component->active++;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -93,9 +92,8 @@ void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream)
|
||||
|
||||
cpu_dai->active--;
|
||||
codec_dai->active--;
|
||||
if (cpu_dai->codec)
|
||||
cpu_dai->codec->active--;
|
||||
codec_dai->codec->active--;
|
||||
cpu_dai->component->active--;
|
||||
codec_dai->component->active--;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user