aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8523.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-04-14 02:35:19 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-04-16 21:46:22 -0400
commitb2c812e22de88bb79c290c0e718280f10b64a48d (patch)
tree4a5d967714cfb771db351cde525e6946897cca08 /sound/soc/codecs/wm8523.c
parent890c681275ab02623de1187f2d97fc355d76f372 (diff)
ASoC: Add indirection for CODEC private data
One of the features of the multi CODEC work is that it embeds a struct device in the CODEC to provide diagnostics via a sysfs class rather than via the device tree, at which point it's much better to use the struct device private data rather than having two places to store it. Provide an accessor function to allow this change to be made more easily, and update all the CODEC drivers are updated. To ensure use of the accessor the private data structure member is renamed, meaning that if code developed with older an older core that still uses private_data is merged it will fail to build. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/codecs/wm8523.c')
-rw-r--r--sound/soc/codecs/wm8523.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8523.c b/sound/soc/codecs/wm8523.c
index d3a61d7ea0c5..2cdffb0b2a80 100644
--- a/sound/soc/codecs/wm8523.c
+++ b/sound/soc/codecs/wm8523.c
@@ -137,7 +137,7 @@ static int wm8523_startup(struct snd_pcm_substream *substream,
137 struct snd_soc_dai *dai) 137 struct snd_soc_dai *dai)
138{ 138{
139 struct snd_soc_codec *codec = dai->codec; 139 struct snd_soc_codec *codec = dai->codec;
140 struct wm8523_priv *wm8523 = codec->private_data; 140 struct wm8523_priv *wm8523 = snd_soc_codec_get_drvdata(codec);
141 141
142 /* The set of sample rates that can be supported depends on the 142 /* The set of sample rates that can be supported depends on the
143 * MCLK supplied to the CODEC - enforce this. 143 * MCLK supplied to the CODEC - enforce this.
@@ -163,7 +163,7 @@ static int wm8523_hw_params(struct snd_pcm_substream *substream,
163 struct snd_soc_pcm_runtime *rtd = substream->private_data; 163 struct snd_soc_pcm_runtime *rtd = substream->private_data;
164 struct snd_soc_device *socdev = rtd->socdev; 164 struct snd_soc_device *socdev = rtd->socdev;
165 struct snd_soc_codec *codec = socdev->card->codec; 165 struct snd_soc_codec *codec = socdev->card->codec;
166 struct wm8523_priv *wm8523 = codec->private_data; 166 struct wm8523_priv *wm8523 = snd_soc_codec_get_drvdata(codec);
167 int i; 167 int i;
168 u16 aifctrl1 = snd_soc_read(codec, WM8523_AIF_CTRL1); 168 u16 aifctrl1 = snd_soc_read(codec, WM8523_AIF_CTRL1);
169 u16 aifctrl2 = snd_soc_read(codec, WM8523_AIF_CTRL2); 169 u16 aifctrl2 = snd_soc_read(codec, WM8523_AIF_CTRL2);
@@ -210,7 +210,7 @@ static int wm8523_set_dai_sysclk(struct snd_soc_dai *codec_dai,
210 int clk_id, unsigned int freq, int dir) 210 int clk_id, unsigned int freq, int dir)
211{ 211{
212 struct snd_soc_codec *codec = codec_dai->codec; 212 struct snd_soc_codec *codec = codec_dai->codec;
213 struct wm8523_priv *wm8523 = codec->private_data; 213 struct wm8523_priv *wm8523 = snd_soc_codec_get_drvdata(codec);
214 unsigned int val; 214 unsigned int val;
215 int i; 215 int i;
216 216
@@ -317,7 +317,7 @@ static int wm8523_set_dai_fmt(struct snd_soc_dai *codec_dai,
317static int wm8523_set_bias_level(struct snd_soc_codec *codec, 317static int wm8523_set_bias_level(struct snd_soc_codec *codec,
318 enum snd_soc_bias_level level) 318 enum snd_soc_bias_level level)
319{ 319{
320 struct wm8523_priv *wm8523 = codec->private_data; 320 struct wm8523_priv *wm8523 = snd_soc_codec_get_drvdata(codec);
321 int ret, i; 321 int ret, i;
322 322
323 switch (level) { 323 switch (level) {
@@ -488,7 +488,7 @@ static int wm8523_register(struct wm8523_priv *wm8523,
488 INIT_LIST_HEAD(&codec->dapm_widgets); 488 INIT_LIST_HEAD(&codec->dapm_widgets);
489 INIT_LIST_HEAD(&codec->dapm_paths); 489 INIT_LIST_HEAD(&codec->dapm_paths);
490 490
491 codec->private_data = wm8523; 491 snd_soc_codec_set_drvdata(codec, wm8523);
492 codec->name = "WM8523"; 492 codec->name = "WM8523";
493 codec->owner = THIS_MODULE; 493 codec->owner = THIS_MODULE;
494 codec->bias_level = SND_SOC_BIAS_OFF; 494 codec->bias_level = SND_SOC_BIAS_OFF;