diff options
Diffstat (limited to 'sound/soc/pxa/poodle.c')
| -rw-r--r-- | sound/soc/pxa/poodle.c | 27 | 
1 files changed, 11 insertions, 16 deletions
diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c index c5f36e0eab5..3ba5a962ecb 100644 --- a/sound/soc/pxa/poodle.c +++ b/sound/soc/pxa/poodle.c @@ -31,7 +31,6 @@  #include <mach/audio.h>  #include "../codecs/wm8731.h" -#include "pxa2xx-pcm.h"  #include "pxa2xx-i2s.h"  #define POODLE_HP        1 @@ -76,7 +75,7 @@ static void poodle_ext_control(struct snd_soc_codec *codec)  static int poodle_startup(struct snd_pcm_substream *substream)  {  	struct snd_soc_pcm_runtime *rtd = substream->private_data; -	struct snd_soc_codec *codec = rtd->socdev->card->codec; +	struct snd_soc_codec *codec = rtd->codec;  	/* check the jack status at stream startup */  	poodle_ext_control(codec); @@ -97,8 +96,8 @@ static int poodle_hw_params(struct snd_pcm_substream *substream,  	struct snd_pcm_hw_params *params)  {  	struct snd_soc_pcm_runtime *rtd = substream->private_data; -	struct snd_soc_dai *codec_dai = rtd->dai->codec_dai; -	struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; +	struct snd_soc_dai *codec_dai = rtd->codec_dai; +	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;  	unsigned int clk = 0;  	int ret = 0; @@ -237,8 +236,9 @@ static const struct snd_kcontrol_new wm8731_poodle_controls[] = {  /*   * Logic for a wm8731 as connected on a Sharp SL-C7x0 Device   */ -static int poodle_wm8731_init(struct snd_soc_codec *codec) +static int poodle_wm8731_init(struct snd_soc_pcm_runtime *rtd)  { +	struct snd_soc_codec *codec = rtd->codec;  	int err;  	snd_soc_dapm_nc_pin(codec, "LLINEIN"); @@ -266,8 +266,10 @@ static int poodle_wm8731_init(struct snd_soc_codec *codec)  static struct snd_soc_dai_link poodle_dai = {  	.name = "WM8731",  	.stream_name = "WM8731", -	.cpu_dai = &pxa_i2s_dai, -	.codec_dai = &wm8731_dai, +	.cpu_dai_name = "pxa-i2s", +	.codec_dai_name = "wm8731-hifi" +	.platform_name = "pxa-pcm-audio", +	.codec_name = "wm8731-codec.0-001a",  	.init = poodle_wm8731_init,  	.ops = &poodle_ops,  }; @@ -275,15 +277,9 @@ static struct snd_soc_dai_link poodle_dai = {  /* poodle audio machine driver */  static struct snd_soc_card snd_soc_poodle = {  	.name = "Poodle", -	.platform = &pxa2xx_soc_platform,  	.dai_link = &poodle_dai,  	.num_links = 1, -}; - -/* poodle audio subsystem */ -static struct snd_soc_device poodle_snd_devdata = { -	.card = &snd_soc_poodle, -	.codec_dev = &soc_codec_dev_wm8731, +	.owner = THIS_MODULE,  };  static struct platform_device *poodle_snd_device; @@ -307,8 +303,7 @@ static int __init poodle_init(void)  	if (!poodle_snd_device)  		return -ENOMEM; -	platform_set_drvdata(poodle_snd_device, &poodle_snd_devdata); -	poodle_snd_devdata.dev = &poodle_snd_device->dev; +	platform_set_drvdata(poodle_snd_device, &snd_soc_poodle);  	ret = platform_device_add(poodle_snd_device);  	if (ret)  |