From: Lars-Peter Clausen Date: Tue, 18 Mar 2014 08:02:10 +0000 (+0100) Subject: ASoC: Add helper function to cast component back to CODEC X-Git-Tag: v3.15-rc1~36^2~1^2~3^2~7^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=28d6d175d842b8dd6ac7fa10fa6e610b19fd9d86;p=platform%2Fkernel%2Flinux-exynos.git ASoC: Add helper function to cast component back to CODEC Add a helper function to cast back from a component struct to the CODEC struct it is embedded in. This is useful in situations where we know that a certain component is a CODEC and want to get access to some CODEC specific properties. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown --- diff --git a/include/sound/soc.h b/include/sound/soc.h index 37b470c..9ce6d20 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -1104,6 +1104,19 @@ struct soc_enum { const unsigned int *values; }; +/** + * snd_soc_component_to_codec() - Casts a component to the CODEC it is embedded in + * @component: The component to cast to a CODEC + * + * This function must only be used on components that are known to be CODECs. + * Otherwise the behavior is undefined. + */ +static inline struct snd_soc_codec *snd_soc_component_to_codec( + struct snd_soc_component *component) +{ + return container_of(component, struct snd_soc_codec, component); +} + /* codec IO */ unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg); unsigned int snd_soc_write(struct snd_soc_codec *codec,