aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8753.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/wm8753.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/wm8753.c')
-rw-r--r--sound/soc/codecs/wm8753.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index c2444e7c8480..f9e56a1dfde1 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -850,7 +850,7 @@ static int wm8753_set_dai_sysclk(struct snd_soc_dai *codec_dai,
850 int clk_id, unsigned int freq, int dir) 850 int clk_id, unsigned int freq, int dir)
851{ 851{
852 struct snd_soc_codec *codec = codec_dai->codec; 852 struct snd_soc_codec *codec = codec_dai->codec;
853 struct wm8753_priv *wm8753 = codec->private_data; 853 struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec);
854 854
855 switch (freq) { 855 switch (freq) {
856 case 11289600: 856 case 11289600:
@@ -913,7 +913,7 @@ static int wm8753_pcm_hw_params(struct snd_pcm_substream *substream,
913 struct snd_soc_pcm_runtime *rtd = substream->private_data; 913 struct snd_soc_pcm_runtime *rtd = substream->private_data;
914 struct snd_soc_device *socdev = rtd->socdev; 914 struct snd_soc_device *socdev = rtd->socdev;
915 struct snd_soc_codec *codec = socdev->card->codec; 915 struct snd_soc_codec *codec = socdev->card->codec;
916 struct wm8753_priv *wm8753 = codec->private_data; 916 struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec);
917 u16 voice = wm8753_read_reg_cache(codec, WM8753_PCM) & 0x01f3; 917 u16 voice = wm8753_read_reg_cache(codec, WM8753_PCM) & 0x01f3;
918 u16 srate = wm8753_read_reg_cache(codec, WM8753_SRATE1) & 0x017f; 918 u16 srate = wm8753_read_reg_cache(codec, WM8753_SRATE1) & 0x017f;
919 919
@@ -1147,7 +1147,7 @@ static int wm8753_i2s_hw_params(struct snd_pcm_substream *substream,
1147 struct snd_soc_pcm_runtime *rtd = substream->private_data; 1147 struct snd_soc_pcm_runtime *rtd = substream->private_data;
1148 struct snd_soc_device *socdev = rtd->socdev; 1148 struct snd_soc_device *socdev = rtd->socdev;
1149 struct snd_soc_codec *codec = socdev->card->codec; 1149 struct snd_soc_codec *codec = socdev->card->codec;
1150 struct wm8753_priv *wm8753 = codec->private_data; 1150 struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec);
1151 u16 srate = wm8753_read_reg_cache(codec, WM8753_SRATE1) & 0x01c0; 1151 u16 srate = wm8753_read_reg_cache(codec, WM8753_SRATE1) & 0x01c0;
1152 u16 hifi = wm8753_read_reg_cache(codec, WM8753_HIFI) & 0x01f3; 1152 u16 hifi = wm8753_read_reg_cache(codec, WM8753_HIFI) & 0x01f3;
1153 int coeff; 1153 int coeff;
@@ -1645,7 +1645,7 @@ static int wm8753_register(struct wm8753_priv *wm8753)
1645 codec->num_dai = 2; 1645 codec->num_dai = 2;
1646 codec->reg_cache_size = ARRAY_SIZE(wm8753->reg_cache) + 1; 1646 codec->reg_cache_size = ARRAY_SIZE(wm8753->reg_cache) + 1;
1647 codec->reg_cache = &wm8753->reg_cache; 1647 codec->reg_cache = &wm8753->reg_cache;
1648 codec->private_data = wm8753; 1648 snd_soc_codec_set_drvdata(codec, wm8753);
1649 1649
1650 memcpy(codec->reg_cache, wm8753_reg, sizeof(wm8753->reg_cache)); 1650 memcpy(codec->reg_cache, wm8753_reg, sizeof(wm8753->reg_cache));
1651 INIT_DELAYED_WORK(&codec->delayed_work, wm8753_work); 1651 INIT_DELAYED_WORK(&codec->delayed_work, wm8753_work);