summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-06-03 10:39:43 +0100
committerMark Brown <broonie@linaro.org>2014-06-03 10:39:43 +0100
commitb8139d0afd51b8f357a018aab68ff9c4095217be (patch)
tree6b9928dec5c840766da727691c935ff9123fb50a /include
parentbad6f621e492f65a0bf0fbe8db1c9c7f20da6a60 (diff)
parentb5fc40d3b37bdb3524cdf1f550bd0c3b05ac3888 (diff)
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
Diffstat (limited to 'include')
-rw-r--r--include/sound/soc.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index dcdcc95efd1d..f7f32c03bf91 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1146,6 +1146,33 @@ static inline struct snd_soc_platform *snd_soc_component_to_platform(
return container_of(component, struct snd_soc_platform, component);
}
+/**
+ * snd_soc_dapm_to_codec() - Casts a DAPM context to the CODEC it is embedded in
+ * @dapm: The DAPM context to cast to the CODEC
+ *
+ * This function must only be used on DAPM contexts that are known to be part of
+ * a CODEC (e.g. in a CODEC driver). Otherwise the behavior is undefined.
+ */
+static inline struct snd_soc_codec *snd_soc_dapm_to_codec(
+ struct snd_soc_dapm_context *dapm)
+{
+ return container_of(dapm, struct snd_soc_codec, dapm);
+}
+
+/**
+ * snd_soc_dapm_to_platform() - Casts a DAPM context to the platform it is
+ * embedded in
+ * @dapm: The DAPM context to cast to the platform.
+ *
+ * This function must only be used on DAPM contexts that are known to be part of
+ * a platform (e.g. in a platform driver). Otherwise the behavior is undefined.
+ */
+static inline struct snd_soc_platform *snd_soc_dapm_to_platform(
+ struct snd_soc_dapm_context *dapm)
+{
+ return container_of(dapm, struct snd_soc_platform, dapm);
+}
+
/* codec IO */
unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg);
int snd_soc_write(struct snd_soc_codec *codec, unsigned int reg,