aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/ak4535.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/ak4535.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/ak4535.c')
-rw-r--r--sound/soc/codecs/ak4535.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/soc/codecs/ak4535.c b/sound/soc/codecs/ak4535.c
index ff966567e2b..2f6221b2ebb 100644
--- a/sound/soc/codecs/ak4535.c
+++ b/sound/soc/codecs/ak4535.c
@@ -301,7 +301,7 @@ static int ak4535_set_dai_sysclk(struct snd_soc_dai *codec_dai,
301 int clk_id, unsigned int freq, int dir) 301 int clk_id, unsigned int freq, int dir)
302{ 302{
303 struct snd_soc_codec *codec = codec_dai->codec; 303 struct snd_soc_codec *codec = codec_dai->codec;
304 struct ak4535_priv *ak4535 = codec->private_data; 304 struct ak4535_priv *ak4535 = snd_soc_codec_get_drvdata(codec);
305 305
306 ak4535->sysclk = freq; 306 ak4535->sysclk = freq;
307 return 0; 307 return 0;
@@ -314,7 +314,7 @@ static int ak4535_hw_params(struct snd_pcm_substream *substream,
314 struct snd_soc_pcm_runtime *rtd = substream->private_data; 314 struct snd_soc_pcm_runtime *rtd = substream->private_data;
315 struct snd_soc_device *socdev = rtd->socdev; 315 struct snd_soc_device *socdev = rtd->socdev;
316 struct snd_soc_codec *codec = socdev->card->codec; 316 struct snd_soc_codec *codec = socdev->card->codec;
317 struct ak4535_priv *ak4535 = codec->private_data; 317 struct ak4535_priv *ak4535 = snd_soc_codec_get_drvdata(codec);
318 u8 mode2 = ak4535_read_reg_cache(codec, AK4535_MODE2) & ~(0x3 << 5); 318 u8 mode2 = ak4535_read_reg_cache(codec, AK4535_MODE2) & ~(0x3 << 5);
319 int rate = params_rate(params), fs = 256; 319 int rate = params_rate(params), fs = 256;
320 320
@@ -599,7 +599,7 @@ static int ak4535_probe(struct platform_device *pdev)
599 return -ENOMEM; 599 return -ENOMEM;
600 } 600 }
601 601
602 codec->private_data = ak4535; 602 snd_soc_codec_set_drvdata(codec, ak4535);
603 socdev->card->codec = codec; 603 socdev->card->codec = codec;
604 mutex_init(&codec->mutex); 604 mutex_init(&codec->mutex);
605 INIT_LIST_HEAD(&codec->dapm_widgets); 605 INIT_LIST_HEAD(&codec->dapm_widgets);
@@ -616,7 +616,7 @@ static int ak4535_probe(struct platform_device *pdev)
616#endif 616#endif
617 617
618 if (ret != 0) { 618 if (ret != 0) {
619 kfree(codec->private_data); 619 kfree(snd_soc_codec_get_drvdata(codec));
620 kfree(codec); 620 kfree(codec);
621 } 621 }
622 return ret; 622 return ret;
@@ -638,7 +638,7 @@ static int ak4535_remove(struct platform_device *pdev)
638 i2c_unregister_device(codec->control_data); 638 i2c_unregister_device(codec->control_data);
639 i2c_del_driver(&ak4535_i2c_driver); 639 i2c_del_driver(&ak4535_i2c_driver);
640#endif 640#endif
641 kfree(codec->private_data); 641 kfree(snd_soc_codec_get_drvdata(codec));
642 kfree(codec); 642 kfree(codec);
643 643
644 return 0; 644 return 0;