Commit df00b71f authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next

parents 8c7df021 32873b59
...@@ -25,11 +25,9 @@ ...@@ -25,11 +25,9 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <mach/regs-gpio.h> #include <mach/regs-gpio.h>
#include <plat/regs-ac97.h>
#include <plat/regs-dma.h> #include <plat/regs-dma.h>
#include <mach/regs-lcd.h> #include <mach/regs-lcd.h>
#include <mach/regs-sdi.h> #include <mach/regs-sdi.h>
#include <plat/regs-iis.h>
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = { static struct s3c24xx_dma_map __initdata s3c2410_dma_mappings[] = {
......
...@@ -25,11 +25,9 @@ ...@@ -25,11 +25,9 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <mach/regs-gpio.h> #include <mach/regs-gpio.h>
#include <plat/regs-ac97.h>
#include <plat/regs-dma.h> #include <plat/regs-dma.h>
#include <mach/regs-lcd.h> #include <mach/regs-lcd.h>
#include <mach/regs-sdi.h> #include <mach/regs-sdi.h>
#include <plat/regs-iis.h>
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
#define MAP(x) { (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID } #define MAP(x) { (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID, (x)| DMA_CH_VALID }
......
...@@ -25,11 +25,9 @@ ...@@ -25,11 +25,9 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <mach/regs-gpio.h> #include <mach/regs-gpio.h>
#include <plat/regs-ac97.h>
#include <plat/regs-dma.h> #include <plat/regs-dma.h>
#include <mach/regs-lcd.h> #include <mach/regs-lcd.h>
#include <mach/regs-sdi.h> #include <mach/regs-sdi.h>
#include <plat/regs-iis.h>
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = { static struct s3c24xx_dma_map __initdata s3c2440_dma_mappings[] = {
......
...@@ -25,11 +25,9 @@ ...@@ -25,11 +25,9 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <mach/regs-gpio.h> #include <mach/regs-gpio.h>
#include <plat/regs-ac97.h>
#include <plat/regs-dma.h> #include <plat/regs-dma.h>
#include <mach/regs-lcd.h> #include <mach/regs-lcd.h>
#include <mach/regs-sdi.h> #include <mach/regs-sdi.h>
#include <plat/regs-iis.h>
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
#define MAP(x) { \ #define MAP(x) { \
......
...@@ -146,14 +146,20 @@ struct platform_device s3c_device_camif = { ...@@ -146,14 +146,20 @@ struct platform_device s3c_device_camif = {
/* ASOC DMA */ /* ASOC DMA */
#ifdef CONFIG_PLAT_S5P
static struct resource samsung_asoc_idma_resource = DEFINE_RES_IRQ(IRQ_I2S0);
struct platform_device samsung_asoc_idma = { struct platform_device samsung_asoc_idma = {
.name = "samsung-idma", .name = "samsung-idma",
.id = -1, .id = -1,
.num_resources = 1,
.resource = &samsung_asoc_idma_resource,
.dev = { .dev = {
.dma_mask = &samsung_device_dma_mask, .dma_mask = &samsung_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32), .coherent_dma_mask = DMA_BIT_MASK(32),
} }
}; };
#endif
/* FB */ /* FB */
......
...@@ -35,11 +35,10 @@ config SND_SAMSUNG_I2S ...@@ -35,11 +35,10 @@ config SND_SAMSUNG_I2S
tristate tristate
config SND_SOC_SAMSUNG_NEO1973_WM8753 config SND_SOC_SAMSUNG_NEO1973_WM8753
tristate "Audio support for Openmoko Neo1973 Smartphones (GTA01/GTA02)" tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)"
depends on SND_SOC_SAMSUNG && (MACH_NEO1973_GTA01 || MACH_NEO1973_GTA02) depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02
select SND_S3C24XX_I2S select SND_S3C24XX_I2S
select SND_SOC_WM8753 select SND_SOC_WM8753
select SND_SOC_LM4857 if MACH_NEO1973_GTA01
select SND_SOC_DFBMCS320 select SND_SOC_DFBMCS320
help help
Say Y here to enable audio support for the Openmoko Neo1973 Say Y here to enable audio support for the Openmoko Neo1973
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <mach/dma.h> #include <mach/dma.h>
#include <plat/regs-ac97.h> #include "regs-ac97.h"
#include <linux/platform_data/asoc-s3c.h> #include <linux/platform_data/asoc-s3c.h>
#include "dma.h" #include "dma.h"
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <sound/jack.h> #include <sound/jack.h>
#include <plat/regs-iis.h> #include "regs-iis.h"
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include "s3c24xx-i2s.h" #include "s3c24xx-i2s.h"
......
...@@ -1304,7 +1304,7 @@ static struct platform_device_id samsung_i2s_driver_ids[] = { ...@@ -1304,7 +1304,7 @@ static struct platform_device_id samsung_i2s_driver_ids[] = {
}, },
{}, {},
}; };
MODULE_DEVICE_TABLE(platform, samsung-i2s-driver-ids); MODULE_DEVICE_TABLE(platform, samsung_i2s_driver_ids);
#ifdef CONFIG_OF #ifdef CONFIG_OF
static struct samsung_i2s_dai_data samsung_i2s_dai_data_array[] = { static struct samsung_i2s_dai_data samsung_i2s_dai_data_array[] = {
......
...@@ -68,6 +68,8 @@ static struct idma_info { ...@@ -68,6 +68,8 @@ static struct idma_info {
dma_addr_t lp_tx_addr; dma_addr_t lp_tx_addr;
} idma; } idma;
static int idma_irq;
static void idma_getpos(dma_addr_t *src) static void idma_getpos(dma_addr_t *src)
{ {
*src = idma.lp_tx_addr + *src = idma.lp_tx_addr +
...@@ -305,7 +307,7 @@ static int idma_open(struct snd_pcm_substream *substream) ...@@ -305,7 +307,7 @@ static int idma_open(struct snd_pcm_substream *substream)
if (prtd == NULL) if (prtd == NULL)
return -ENOMEM; return -ENOMEM;
ret = request_irq(IRQ_I2S0, iis_irq, 0, "i2s", prtd); ret = request_irq(idma_irq, iis_irq, 0, "i2s", prtd);
if (ret < 0) { if (ret < 0) {
pr_err("fail to claim i2s irq , ret = %d\n", ret); pr_err("fail to claim i2s irq , ret = %d\n", ret);
kfree(prtd); kfree(prtd);
...@@ -324,7 +326,7 @@ static int idma_close(struct snd_pcm_substream *substream) ...@@ -324,7 +326,7 @@ static int idma_close(struct snd_pcm_substream *substream)
struct snd_pcm_runtime *runtime = substream->runtime; struct snd_pcm_runtime *runtime = substream->runtime;
struct idma_ctrl *prtd = runtime->private_data; struct idma_ctrl *prtd = runtime->private_data;
free_irq(IRQ_I2S0, prtd); free_irq(idma_irq, prtd);
if (!prtd) if (!prtd)
pr_err("idma_close called with prtd == NULL\n"); pr_err("idma_close called with prtd == NULL\n");
...@@ -409,6 +411,7 @@ void idma_reg_addr_init(void __iomem *regs, dma_addr_t addr) ...@@ -409,6 +411,7 @@ void idma_reg_addr_init(void __iomem *regs, dma_addr_t addr)
idma.regs = regs; idma.regs = regs;
idma.lp_tx_addr = addr; idma.lp_tx_addr = addr;
} }
EXPORT_SYMBOL_GPL(idma_reg_addr_init);
static struct snd_soc_platform_driver asoc_idma_platform = { static struct snd_soc_platform_driver asoc_idma_platform = {
.ops = &idma_ops, .ops = &idma_ops,
...@@ -418,6 +421,10 @@ static struct snd_soc_platform_driver asoc_idma_platform = { ...@@ -418,6 +421,10 @@ static struct snd_soc_platform_driver asoc_idma_platform = {
static int asoc_idma_platform_probe(struct platform_device *pdev) static int asoc_idma_platform_probe(struct platform_device *pdev)
{ {
idma_irq = platform_get_irq(pdev, 0);
if (idma_irq < 0)
return idma_irq;
return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform); return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform);
} }
......
...@@ -21,8 +21,7 @@ ...@@ -21,8 +21,7 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <plat/regs-iis.h> #include "regs-iis.h"
#include <mach/gta02.h>
#include "../codecs/wm8753.h" #include "../codecs/wm8753.h"
#include "s3c24xx-i2s.h" #include "s3c24xx-i2s.h"
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <sound/jack.h> #include <sound/jack.h>
#include <plat/regs-iis.h> #include "regs-iis.h"
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include "s3c24xx-i2s.h" #include "s3c24xx-i2s.h"
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include <sound/pcm_params.h> #include <sound/pcm_params.h>
#include <mach/dma.h> #include <mach/dma.h>
#include <plat/regs-iis.h> #include "regs-iis.h"
#include "dma.h" #include "dma.h"
#include "s3c24xx-i2s.h" #include "s3c24xx-i2s.h"
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#include <sound/soc.h> #include <sound/soc.h>
#include <sound/s3c24xx_uda134x.h> #include <sound/s3c24xx_uda134x.h>
#include <plat/regs-iis.h> #include "regs-iis.h"
#include "s3c24xx-i2s.h" #include "s3c24xx-i2s.h"
......
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