diff options
Diffstat (limited to 'sound/soc/soc-dapm.c')
| -rw-r--r-- | sound/soc/soc-dapm.c | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index fbfcda06283..7e15914b363 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -124,6 +124,36 @@ static inline struct snd_soc_dapm_widget *dapm_cnew_widget(  	return kmemdup(_widget, sizeof(*_widget), GFP_KERNEL);  } +/* get snd_card from DAPM context */ +static inline struct snd_card *dapm_get_snd_card( +	struct snd_soc_dapm_context *dapm) +{ +	if (dapm->codec) +		return dapm->codec->card->snd_card; +	else if (dapm->platform) +		return dapm->platform->card->snd_card; +	else +		BUG(); + +	/* unreachable */ +	return NULL; +} + +/* get soc_card from DAPM context */ +static inline struct snd_soc_card *dapm_get_soc_card( +		struct snd_soc_dapm_context *dapm) +{ +	if (dapm->codec) +		return dapm->codec->card; +	else if (dapm->platform) +		return dapm->platform->card; +	else +		BUG(); + +	/* unreachable */ +	return NULL; +} +  static int soc_widget_read(struct snd_soc_dapm_widget *w, int reg)  {  	if (w->codec)  |