aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/tlv320aic3x.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/tlv320aic3x.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/tlv320aic3x.c')
-rw-r--r--sound/soc/codecs/tlv320aic3x.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index e4b946a19ea3..556123b4059c 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -763,7 +763,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream,
763 struct snd_soc_pcm_runtime *rtd = substream->private_data; 763 struct snd_soc_pcm_runtime *rtd = substream->private_data;
764 struct snd_soc_device *socdev = rtd->socdev; 764 struct snd_soc_device *socdev = rtd->socdev;
765 struct snd_soc_codec *codec = socdev->card->codec; 765 struct snd_soc_codec *codec = socdev->card->codec;
766 struct aic3x_priv *aic3x = codec->private_data; 766 struct aic3x_priv *aic3x = snd_soc_codec_get_drvdata(codec);
767 int codec_clk = 0, bypass_pll = 0, fsref, last_clk = 0; 767 int codec_clk = 0, bypass_pll = 0, fsref, last_clk = 0;
768 u8 data, j, r, p, pll_q, pll_p = 1, pll_r = 1, pll_j = 1; 768 u8 data, j, r, p, pll_q, pll_p = 1, pll_r = 1, pll_j = 1;
769 u16 d, pll_d = 1; 769 u16 d, pll_d = 1;
@@ -930,7 +930,7 @@ static int aic3x_set_dai_sysclk(struct snd_soc_dai *codec_dai,
930 int clk_id, unsigned int freq, int dir) 930 int clk_id, unsigned int freq, int dir)
931{ 931{
932 struct snd_soc_codec *codec = codec_dai->codec; 932 struct snd_soc_codec *codec = codec_dai->codec;
933 struct aic3x_priv *aic3x = codec->private_data; 933 struct aic3x_priv *aic3x = snd_soc_codec_get_drvdata(codec);
934 934
935 aic3x->sysclk = freq; 935 aic3x->sysclk = freq;
936 return 0; 936 return 0;
@@ -940,7 +940,7 @@ static int aic3x_set_dai_fmt(struct snd_soc_dai *codec_dai,
940 unsigned int fmt) 940 unsigned int fmt)
941{ 941{
942 struct snd_soc_codec *codec = codec_dai->codec; 942 struct snd_soc_codec *codec = codec_dai->codec;
943 struct aic3x_priv *aic3x = codec->private_data; 943 struct aic3x_priv *aic3x = snd_soc_codec_get_drvdata(codec);
944 u8 iface_areg, iface_breg; 944 u8 iface_areg, iface_breg;
945 int delay = 0; 945 int delay = 0;
946 946
@@ -994,7 +994,7 @@ static int aic3x_set_dai_fmt(struct snd_soc_dai *codec_dai,
994static int aic3x_set_bias_level(struct snd_soc_codec *codec, 994static int aic3x_set_bias_level(struct snd_soc_codec *codec,
995 enum snd_soc_bias_level level) 995 enum snd_soc_bias_level level)
996{ 996{
997 struct aic3x_priv *aic3x = codec->private_data; 997 struct aic3x_priv *aic3x = snd_soc_codec_get_drvdata(codec);
998 u8 reg; 998 u8 reg;
999 999
1000 switch (level) { 1000 switch (level) {
@@ -1338,7 +1338,7 @@ static int aic3x_i2c_probe(struct i2c_client *i2c,
1338 1338
1339 codec = &aic3x->codec; 1339 codec = &aic3x->codec;
1340 codec->dev = &i2c->dev; 1340 codec->dev = &i2c->dev;
1341 codec->private_data = aic3x; 1341 snd_soc_codec_set_drvdata(codec, aic3x);
1342 codec->control_data = i2c; 1342 codec->control_data = i2c;
1343 codec->hw_write = (hw_write_t) i2c_master_send; 1343 codec->hw_write = (hw_write_t) i2c_master_send;
1344 1344