Commit 9b1a88c7 authored by Mark Brown's avatar Mark Brown

Merge branch 'for-2.6.30' into for-2.6.31

parents f2644a2c 6e498d5e
...@@ -1220,11 +1220,12 @@ static int twl4030_set_bias_level(struct snd_soc_codec *codec, ...@@ -1220,11 +1220,12 @@ static int twl4030_set_bias_level(struct snd_soc_codec *codec,
return 0; return 0;
} }
static int twl4030_startup(struct snd_pcm_substream *substream) static int twl4030_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ {
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_device *socdev = rtd->socdev; struct snd_soc_device *socdev = rtd->socdev;
struct snd_soc_codec *codec = socdev->codec; struct snd_soc_codec *codec = socdev->card->codec;
struct twl4030_priv *twl4030 = codec->private_data; struct twl4030_priv *twl4030 = codec->private_data;
/* If we already have a playback or capture going then constrain /* If we already have a playback or capture going then constrain
...@@ -1251,11 +1252,12 @@ static int twl4030_startup(struct snd_pcm_substream *substream) ...@@ -1251,11 +1252,12 @@ static int twl4030_startup(struct snd_pcm_substream *substream)
return 0; return 0;
} }
static void twl4030_shutdown(struct snd_pcm_substream *substream) static void twl4030_shutdown(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ {
struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_device *socdev = rtd->socdev; struct snd_soc_device *socdev = rtd->socdev;
struct snd_soc_codec *codec = socdev->codec; struct snd_soc_codec *codec = socdev->card->codec;
struct twl4030_priv *twl4030 = codec->private_data; struct twl4030_priv *twl4030 = codec->private_data;
if (twl4030->master_substream == substream) if (twl4030->master_substream == substream)
......
...@@ -300,7 +300,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai, ...@@ -300,7 +300,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai,
if (!card->dev->coherent_dma_mask) if (!card->dev->coherent_dma_mask)
card->dev->coherent_dma_mask = fsl_dma_dmamask; card->dev->coherent_dma_mask = fsl_dma_dmamask;
ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, pcm->dev, ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev,
fsl_dma_hardware.buffer_bytes_max, fsl_dma_hardware.buffer_bytes_max,
&pcm->streams[0].substream->dma_buffer); &pcm->streams[0].substream->dma_buffer);
if (ret) { if (ret) {
...@@ -310,7 +310,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai, ...@@ -310,7 +310,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai,
return -ENOMEM; return -ENOMEM;
} }
ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, pcm->dev, ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, card->dev,
fsl_dma_hardware.buffer_bytes_max, fsl_dma_hardware.buffer_bytes_max,
&pcm->streams[1].substream->dma_buffer); &pcm->streams[1].substream->dma_buffer);
if (ret) { if (ret) {
...@@ -418,7 +418,7 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) ...@@ -418,7 +418,7 @@ static int fsl_dma_open(struct snd_pcm_substream *substream)
return -EBUSY; return -EBUSY;
} }
dma_private = dma_alloc_coherent(substream->pcm->dev, dma_private = dma_alloc_coherent(substream->pcm->card->dev,
sizeof(struct fsl_dma_private), &ld_buf_phys, GFP_KERNEL); sizeof(struct fsl_dma_private), &ld_buf_phys, GFP_KERNEL);
if (!dma_private) { if (!dma_private) {
dev_err(substream->pcm->card->dev, dev_err(substream->pcm->card->dev,
...@@ -445,7 +445,7 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) ...@@ -445,7 +445,7 @@ static int fsl_dma_open(struct snd_pcm_substream *substream)
dev_err(substream->pcm->card->dev, dev_err(substream->pcm->card->dev,
"can't register ISR for IRQ %u (ret=%i)\n", "can't register ISR for IRQ %u (ret=%i)\n",
dma_private->irq, ret); dma_private->irq, ret);
dma_free_coherent(substream->pcm->dev, dma_free_coherent(substream->pcm->card->dev,
sizeof(struct fsl_dma_private), sizeof(struct fsl_dma_private),
dma_private, dma_private->ld_buf_phys); dma_private, dma_private->ld_buf_phys);
return ret; return ret;
...@@ -778,13 +778,13 @@ static int fsl_dma_close(struct snd_pcm_substream *substream) ...@@ -778,13 +778,13 @@ static int fsl_dma_close(struct snd_pcm_substream *substream)
free_irq(dma_private->irq, dma_private); free_irq(dma_private->irq, dma_private);
if (dma_private->ld_buf_phys) { if (dma_private->ld_buf_phys) {
dma_unmap_single(substream->pcm->dev, dma_unmap_single(substream->pcm->card->dev,
dma_private->ld_buf_phys, dma_private->ld_buf_phys,
sizeof(dma_private->link), DMA_TO_DEVICE); sizeof(dma_private->link), DMA_TO_DEVICE);
} }
/* Deallocate the fsl_dma_private structure */ /* Deallocate the fsl_dma_private structure */
dma_free_coherent(substream->pcm->dev, dma_free_coherent(substream->pcm->card->dev,
sizeof(struct fsl_dma_private), sizeof(struct fsl_dma_private),
dma_private, dma_private->ld_buf_phys); dma_private, dma_private->ld_buf_phys);
substream->runtime->private_data = NULL; substream->runtime->private_data = NULL;
......
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <sound/soc-dapm.h> #include <sound/soc-dapm.h>
#include <mach/pxa-regs.h>
#include <mach/hardware.h>
#include <mach/magician.h> #include <mach/magician.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include "../codecs/uda1380.h" #include "../codecs/uda1380.h"
......
config SND_S3C24XX_SOC config SND_S3C24XX_SOC
tristate "SoC Audio for the Samsung S3CXXXX chips" tristate "SoC Audio for the Samsung S3CXXXX chips"
depends on ARCH_S3C2410 || ARCH_S3C64XX depends on ARCH_S3C2410
help help
Say Y or M if you want to add support for codecs attached to Say Y or M if you want to add support for codecs attached to
the S3C24XX and S3C64XX AC97, I2S or SSP interface. You will the S3C24XX AC97 or I2S interfaces. You will also need to
also need to select the audio interfaces to support below. select the audio interfaces to support below.
config SND_S3C24XX_SOC_I2S config SND_S3C24XX_SOC_I2S
tristate tristate
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment