diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2014-03-18 04:02:10 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-03-19 09:07:30 -0400 |
commit | 28d6d175d842b8dd6ac7fa10fa6e610b19fd9d86 (patch) | |
tree | dcc974b63f8b6cb1a78b44c0497f60685c0af80c /include/sound | |
parent | 5c1d5f091dc39eecf9a34a8be01492d14c23ad91 (diff) |
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 <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/soc.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 37b470c1e127..9ce6d20899b4 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -1104,6 +1104,19 @@ struct soc_enum { | |||
1104 | const unsigned int *values; | 1104 | const unsigned int *values; |
1105 | }; | 1105 | }; |
1106 | 1106 | ||
1107 | /** | ||
1108 | * snd_soc_component_to_codec() - Casts a component to the CODEC it is embedded in | ||
1109 | * @component: The component to cast to a CODEC | ||
1110 | * | ||
1111 | * This function must only be used on components that are known to be CODECs. | ||
1112 | * Otherwise the behavior is undefined. | ||
1113 | */ | ||
1114 | static inline struct snd_soc_codec *snd_soc_component_to_codec( | ||
1115 | struct snd_soc_component *component) | ||
1116 | { | ||
1117 | return container_of(component, struct snd_soc_codec, component); | ||
1118 | } | ||
1119 | |||
1107 | /* codec IO */ | 1120 | /* codec IO */ |
1108 | unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg); | 1121 | unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg); |
1109 | unsigned int snd_soc_write(struct snd_soc_codec *codec, | 1122 | unsigned int snd_soc_write(struct snd_soc_codec *codec, |