diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-14 02:35:19 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-16 21:46:22 -0400 |
commit | b2c812e22de88bb79c290c0e718280f10b64a48d (patch) | |
tree | 4a5d967714cfb771db351cde525e6946897cca08 /sound/soc/codecs/tlv320aic3x.c | |
parent | 890c681275ab02623de1187f2d97fc355d76f372 (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.c | 10 |
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, | |||
994 | static int aic3x_set_bias_level(struct snd_soc_codec *codec, | 994 | static 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 | ||