Merge tag 'asoc-v3.15-5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.15 A smattering of device specific fixes, nothing stands out here except for the multiplatform fixes for Samsung and the device IDs being added by Stephen Warren - there's no real code changes from those and they give better robustness to the enumeration with DT.
This commit is contained in:
@@ -902,7 +902,6 @@ static int alc5623_probe(struct snd_soc_codec *codec)
|
||||
{
|
||||
struct alc5623_priv *alc5623 = snd_soc_codec_get_drvdata(codec);
|
||||
struct snd_soc_dapm_context *dapm = &codec->dapm;
|
||||
int ret;
|
||||
|
||||
alc5623_reset(codec);
|
||||
|
||||
@@ -961,7 +960,7 @@ static int alc5623_probe(struct snd_soc_codec *codec)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* power down chip */
|
||||
|
||||
@@ -1061,7 +1061,6 @@ static int alc5632_resume(struct snd_soc_codec *codec)
|
||||
static int alc5632_probe(struct snd_soc_codec *codec)
|
||||
{
|
||||
struct alc5632_priv *alc5632 = snd_soc_codec_get_drvdata(codec);
|
||||
int ret;
|
||||
|
||||
/* power on device */
|
||||
alc5632_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
||||
@@ -1075,7 +1074,7 @@ static int alc5632_probe(struct snd_soc_codec *codec)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* power down chip */
|
||||
@@ -1191,11 +1190,18 @@ static const struct i2c_device_id alc5632_i2c_table[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, alc5632_i2c_table);
|
||||
|
||||
static const struct of_device_id alc5632_of_match[] = {
|
||||
{ .compatible = "realtek,alc5632", },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, alc5632_of_match);
|
||||
|
||||
/* i2c codec control layer */
|
||||
static struct i2c_driver alc5632_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "alc5632",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = of_match_ptr(alc5632_of_match),
|
||||
},
|
||||
.probe = alc5632_i2c_probe,
|
||||
.remove = alc5632_i2c_remove,
|
||||
|
||||
@@ -1259,7 +1259,7 @@ static int cs42l52_i2c_probe(struct i2c_client *i2c_client,
|
||||
}
|
||||
|
||||
dev_info(&i2c_client->dev, "Cirrus Logic CS42L52, Revision: %02X\n",
|
||||
reg & 0xFF);
|
||||
reg & CS42L52_CHIP_REV_MASK);
|
||||
|
||||
/* Set Platform Data */
|
||||
if (cs42l52->pdata.mica_diff_cfg)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#define CS42L52_CHIP_REV_A0 0x00
|
||||
#define CS42L52_CHIP_REV_A1 0x01
|
||||
#define CS42L52_CHIP_REV_B0 0x02
|
||||
#define CS42L52_CHIP_REV_MASK 0x03
|
||||
#define CS42L52_CHIP_REV_MASK 0x07
|
||||
|
||||
#define CS42L52_PWRCTL1 0x02
|
||||
#define CS42L52_PWRCTL1_PDN_ALL 0x9F
|
||||
|
||||
@@ -495,17 +495,16 @@ int cs42xx8_probe(struct device *dev, struct regmap *regmap)
|
||||
regcache_cache_bypass(cs42xx8->regmap, true);
|
||||
|
||||
/* Validate the chip ID */
|
||||
regmap_read(cs42xx8->regmap, CS42XX8_CHIPID, &val);
|
||||
if (val < 0) {
|
||||
dev_err(dev, "failed to get device ID: %x", val);
|
||||
ret = -EINVAL;
|
||||
ret = regmap_read(cs42xx8->regmap, CS42XX8_CHIPID, &val);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "failed to get device ID, ret = %d", ret);
|
||||
goto err_enable;
|
||||
}
|
||||
|
||||
/* The top four bits of the chip ID should be 0000 */
|
||||
if ((val & CS42XX8_CHIPID_CHIP_ID_MASK) != 0x00) {
|
||||
if (((val & CS42XX8_CHIPID_CHIP_ID_MASK) >> 4) != 0x00) {
|
||||
dev_err(dev, "unmatched chip ID: %d\n",
|
||||
val & CS42XX8_CHIPID_CHIP_ID_MASK);
|
||||
(val & CS42XX8_CHIPID_CHIP_ID_MASK) >> 4);
|
||||
ret = -EINVAL;
|
||||
goto err_enable;
|
||||
}
|
||||
|
||||
@@ -1571,7 +1571,8 @@ static int da732x_i2c_probe(struct i2c_client *i2c,
|
||||
}
|
||||
|
||||
dev_info(&i2c->dev, "Revision: %d.%d\n",
|
||||
(reg & DA732X_ID_MAJOR_MASK), (reg & DA732X_ID_MINOR_MASK));
|
||||
(reg & DA732X_ID_MAJOR_MASK) >> 4,
|
||||
(reg & DA732X_ID_MINOR_MASK));
|
||||
|
||||
ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_da732x,
|
||||
da732x_dai, ARRAY_SIZE(da732x_dai));
|
||||
|
||||
@@ -2399,11 +2399,18 @@ static const struct i2c_device_id max98090_i2c_id[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98090_i2c_id);
|
||||
|
||||
static const struct of_device_id max98090_of_match[] = {
|
||||
{ .compatible = "maxim,max98090", },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, max98090_of_match);
|
||||
|
||||
static struct i2c_driver max98090_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "max98090",
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &max98090_pm,
|
||||
.of_match_table = of_match_ptr(max98090_of_match),
|
||||
},
|
||||
.probe = max98090_i2c_probe,
|
||||
.remove = max98090_i2c_remove,
|
||||
|
||||
@@ -2074,6 +2074,14 @@ static const struct i2c_device_id rt5640_i2c_id[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, rt5640_i2c_id);
|
||||
|
||||
#if defined(CONFIG_OF)
|
||||
static const struct of_device_id rt5640_of_match[] = {
|
||||
{ .compatible = "realtek,rt5640", },
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, rt5640_of_match);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ACPI
|
||||
static struct acpi_device_id rt5640_acpi_match[] = {
|
||||
{ "INT33CA", 0 },
|
||||
@@ -2203,6 +2211,7 @@ static struct i2c_driver rt5640_i2c_driver = {
|
||||
.name = "rt5640",
|
||||
.owner = THIS_MODULE,
|
||||
.acpi_match_table = ACPI_PTR(rt5640_acpi_match),
|
||||
.of_match_table = of_match_ptr(rt5640_of_match),
|
||||
},
|
||||
.probe = rt5640_i2c_probe,
|
||||
.remove = rt5640_i2c_remove,
|
||||
|
||||
@@ -43,9 +43,16 @@ static const struct i2c_device_id tlv320aic23_id[] = {
|
||||
|
||||
MODULE_DEVICE_TABLE(i2c, tlv320aic23_id);
|
||||
|
||||
static const struct of_device_id tlv320aic23_of_match[] = {
|
||||
{ .compatible = "ti,tlv320aic23", },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, tlv320aic23_of_match);
|
||||
|
||||
static struct i2c_driver tlv320aic23_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "tlv320aic23-codec",
|
||||
.of_match_table = of_match_ptr(tlv320aic23_of_match),
|
||||
},
|
||||
.probe = tlv320aic23_i2c_probe,
|
||||
.remove = __exit_p(tlv320aic23_i2c_remove),
|
||||
|
||||
@@ -336,7 +336,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXPOL);
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, FSXPOL);
|
||||
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRPOL);
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRPOL);
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_RXFMCTL_REG, FSRPOL);
|
||||
break;
|
||||
|
||||
@@ -344,7 +344,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXPOL);
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, FSXPOL);
|
||||
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRPOL);
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRPOL);
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_RXFMCTL_REG, FSRPOL);
|
||||
break;
|
||||
|
||||
@@ -352,7 +352,7 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXPOL);
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, FSXPOL);
|
||||
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRPOL);
|
||||
mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRPOL);
|
||||
mcasp_set_bits(mcasp, DAVINCI_MCASP_RXFMCTL_REG, FSRPOL);
|
||||
break;
|
||||
|
||||
|
||||
@@ -23,6 +23,71 @@
|
||||
|
||||
#include "fsl_sai.h"
|
||||
|
||||
#define FSL_SAI_FLAGS (FSL_SAI_CSR_SEIE |\
|
||||
FSL_SAI_CSR_FEIE)
|
||||
|
||||
static irqreturn_t fsl_sai_isr(int irq, void *devid)
|
||||
{
|
||||
struct fsl_sai *sai = (struct fsl_sai *)devid;
|
||||
struct device *dev = &sai->pdev->dev;
|
||||
u32 xcsr, mask;
|
||||
|
||||
/* Only handle those what we enabled */
|
||||
mask = (FSL_SAI_FLAGS >> FSL_SAI_CSR_xIE_SHIFT) << FSL_SAI_CSR_xF_SHIFT;
|
||||
|
||||
/* Tx IRQ */
|
||||
regmap_read(sai->regmap, FSL_SAI_TCSR, &xcsr);
|
||||
xcsr &= mask;
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_WSF)
|
||||
dev_dbg(dev, "isr: Start of Tx word detected\n");
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_SEF)
|
||||
dev_warn(dev, "isr: Tx Frame sync error detected\n");
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_FEF) {
|
||||
dev_warn(dev, "isr: Transmit underrun detected\n");
|
||||
/* FIFO reset for safety */
|
||||
xcsr |= FSL_SAI_CSR_FR;
|
||||
}
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_FWF)
|
||||
dev_dbg(dev, "isr: Enabled transmit FIFO is empty\n");
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_FRF)
|
||||
dev_dbg(dev, "isr: Transmit FIFO watermark has been reached\n");
|
||||
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_TCSR,
|
||||
FSL_SAI_CSR_xF_W_MASK | FSL_SAI_CSR_FR, xcsr);
|
||||
|
||||
/* Rx IRQ */
|
||||
regmap_read(sai->regmap, FSL_SAI_RCSR, &xcsr);
|
||||
xcsr &= mask;
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_WSF)
|
||||
dev_dbg(dev, "isr: Start of Rx word detected\n");
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_SEF)
|
||||
dev_warn(dev, "isr: Rx Frame sync error detected\n");
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_FEF) {
|
||||
dev_warn(dev, "isr: Receive overflow detected\n");
|
||||
/* FIFO reset for safety */
|
||||
xcsr |= FSL_SAI_CSR_FR;
|
||||
}
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_FWF)
|
||||
dev_dbg(dev, "isr: Enabled receive FIFO is full\n");
|
||||
|
||||
if (xcsr & FSL_SAI_CSR_FRF)
|
||||
dev_dbg(dev, "isr: Receive FIFO watermark has been reached\n");
|
||||
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_RCSR,
|
||||
FSL_SAI_CSR_xF_W_MASK | FSL_SAI_CSR_FR, xcsr);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static int fsl_sai_set_dai_sysclk_tr(struct snd_soc_dai *cpu_dai,
|
||||
int clk_id, unsigned int freq, int fsl_dir)
|
||||
{
|
||||
@@ -114,7 +179,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
||||
* that is, together with the last bit of the previous
|
||||
* data word.
|
||||
*/
|
||||
val_cr2 &= ~FSL_SAI_CR2_BCP;
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
val_cr4 |= FSL_SAI_CR4_FSE | FSL_SAI_CR4_FSP;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_LEFT_J:
|
||||
@@ -122,7 +187,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
||||
* Frame high, one word length for frame sync,
|
||||
* frame sync asserts with the first bit of the frame.
|
||||
*/
|
||||
val_cr2 &= ~FSL_SAI_CR2_BCP;
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
val_cr4 &= ~(FSL_SAI_CR4_FSE | FSL_SAI_CR4_FSP);
|
||||
break;
|
||||
case SND_SOC_DAIFMT_DSP_A:
|
||||
@@ -132,7 +197,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
||||
* that is, together with the last bit of the previous
|
||||
* data word.
|
||||
*/
|
||||
val_cr2 &= ~FSL_SAI_CR2_BCP;
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
val_cr4 &= ~FSL_SAI_CR4_FSP;
|
||||
val_cr4 |= FSL_SAI_CR4_FSE;
|
||||
sai->is_dsp_mode = true;
|
||||
@@ -142,7 +207,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
||||
* Frame high, one bit for frame sync,
|
||||
* frame sync asserts with the first bit of the frame.
|
||||
*/
|
||||
val_cr2 &= ~FSL_SAI_CR2_BCP;
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
val_cr4 &= ~(FSL_SAI_CR4_FSE | FSL_SAI_CR4_FSP);
|
||||
sai->is_dsp_mode = true;
|
||||
break;
|
||||
@@ -373,8 +438,8 @@ static int fsl_sai_dai_probe(struct snd_soc_dai *cpu_dai)
|
||||
{
|
||||
struct fsl_sai *sai = dev_get_drvdata(cpu_dai->dev);
|
||||
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_TCSR, 0xffffffff, 0x0);
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_RCSR, 0xffffffff, 0x0);
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_TCSR, 0xffffffff, FSL_SAI_FLAGS);
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_RCSR, 0xffffffff, FSL_SAI_FLAGS);
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_TCR1, FSL_SAI_CR1_RFW_MASK,
|
||||
FSL_SAI_MAXBURST_TX * 2);
|
||||
regmap_update_bits(sai->regmap, FSL_SAI_RCR1, FSL_SAI_CR1_RFW_MASK,
|
||||
@@ -490,12 +555,14 @@ static int fsl_sai_probe(struct platform_device *pdev)
|
||||
struct fsl_sai *sai;
|
||||
struct resource *res;
|
||||
void __iomem *base;
|
||||
int ret;
|
||||
int irq, ret;
|
||||
|
||||
sai = devm_kzalloc(&pdev->dev, sizeof(*sai), GFP_KERNEL);
|
||||
if (!sai)
|
||||
return -ENOMEM;
|
||||
|
||||
sai->pdev = pdev;
|
||||
|
||||
sai->big_endian_regs = of_property_read_bool(np, "big-endian-regs");
|
||||
if (sai->big_endian_regs)
|
||||
fsl_sai_regmap_config.val_format_endian = REGMAP_ENDIAN_BIG;
|
||||
@@ -514,6 +581,18 @@ static int fsl_sai_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(sai->regmap);
|
||||
}
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
if (irq < 0) {
|
||||
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name);
|
||||
return irq;
|
||||
}
|
||||
|
||||
ret = devm_request_irq(&pdev->dev, irq, fsl_sai_isr, 0, np->name, sai);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to claim irq %u\n", irq);
|
||||
return ret;
|
||||
}
|
||||
|
||||
sai->dma_params_rx.addr = res->start + FSL_SAI_RDR;
|
||||
sai->dma_params_tx.addr = res->start + FSL_SAI_TDR;
|
||||
sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
|
||||
|
||||
@@ -37,7 +37,21 @@
|
||||
|
||||
/* SAI Transmit/Recieve Control Register */
|
||||
#define FSL_SAI_CSR_TERE BIT(31)
|
||||
#define FSL_SAI_CSR_FR BIT(25)
|
||||
#define FSL_SAI_CSR_xF_SHIFT 16
|
||||
#define FSL_SAI_CSR_xF_W_SHIFT 18
|
||||
#define FSL_SAI_CSR_xF_MASK (0x1f << FSL_SAI_CSR_xF_SHIFT)
|
||||
#define FSL_SAI_CSR_xF_W_MASK (0x7 << FSL_SAI_CSR_xF_W_SHIFT)
|
||||
#define FSL_SAI_CSR_WSF BIT(20)
|
||||
#define FSL_SAI_CSR_SEF BIT(19)
|
||||
#define FSL_SAI_CSR_FEF BIT(18)
|
||||
#define FSL_SAI_CSR_FWF BIT(17)
|
||||
#define FSL_SAI_CSR_FRF BIT(16)
|
||||
#define FSL_SAI_CSR_xIE_SHIFT 8
|
||||
#define FSL_SAI_CSR_WSIE BIT(12)
|
||||
#define FSL_SAI_CSR_SEIE BIT(11)
|
||||
#define FSL_SAI_CSR_FEIE BIT(10)
|
||||
#define FSL_SAI_CSR_FWIE BIT(9)
|
||||
#define FSL_SAI_CSR_FRIE BIT(8)
|
||||
#define FSL_SAI_CSR_FRDE BIT(0)
|
||||
|
||||
@@ -99,6 +113,7 @@
|
||||
#define FSL_SAI_MAXBURST_RX 6
|
||||
|
||||
struct fsl_sai {
|
||||
struct platform_device *pdev;
|
||||
struct regmap *regmap;
|
||||
|
||||
bool big_endian_regs;
|
||||
|
||||
@@ -39,15 +39,15 @@ struct s3c_ac97_info {
|
||||
};
|
||||
static struct s3c_ac97_info s3c_ac97;
|
||||
|
||||
static struct s3c2410_dma_client s3c_dma_client_out = {
|
||||
static struct s3c_dma_client s3c_dma_client_out = {
|
||||
.name = "AC97 PCMOut"
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client s3c_dma_client_in = {
|
||||
static struct s3c_dma_client s3c_dma_client_in = {
|
||||
.name = "AC97 PCMIn"
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client s3c_dma_client_micin = {
|
||||
static struct s3c_dma_client s3c_dma_client_micin = {
|
||||
.name = "AC97 MicIn"
|
||||
};
|
||||
|
||||
|
||||
@@ -14,8 +14,12 @@
|
||||
|
||||
#include <sound/dmaengine_pcm.h>
|
||||
|
||||
struct s3c_dma_client {
|
||||
char *name;
|
||||
};
|
||||
|
||||
struct s3c_dma_params {
|
||||
struct s3c2410_dma_client *client; /* stream identifier */
|
||||
struct s3c_dma_client *client; /* stream identifier */
|
||||
int channel; /* Channel ID */
|
||||
dma_addr_t dma_addr;
|
||||
int dma_size; /* Size of the DMA transfer */
|
||||
|
||||
@@ -1211,10 +1211,10 @@ static int samsung_i2s_probe(struct platform_device *pdev)
|
||||
pri_dai->dma_playback.dma_addr = regs_base + I2STXD;
|
||||
pri_dai->dma_capture.dma_addr = regs_base + I2SRXD;
|
||||
pri_dai->dma_playback.client =
|
||||
(struct s3c2410_dma_client *)&pri_dai->dma_playback;
|
||||
(struct s3c_dma_client *)&pri_dai->dma_playback;
|
||||
pri_dai->dma_playback.ch_name = "tx";
|
||||
pri_dai->dma_capture.client =
|
||||
(struct s3c2410_dma_client *)&pri_dai->dma_capture;
|
||||
(struct s3c_dma_client *)&pri_dai->dma_capture;
|
||||
pri_dai->dma_capture.ch_name = "rx";
|
||||
pri_dai->dma_playback.dma_size = 4;
|
||||
pri_dai->dma_capture.dma_size = 4;
|
||||
@@ -1233,7 +1233,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
|
||||
}
|
||||
sec_dai->dma_playback.dma_addr = regs_base + I2STXDS;
|
||||
sec_dai->dma_playback.client =
|
||||
(struct s3c2410_dma_client *)&sec_dai->dma_playback;
|
||||
(struct s3c_dma_client *)&sec_dai->dma_playback;
|
||||
sec_dai->dma_playback.ch_name = "tx-sec";
|
||||
|
||||
if (!np) {
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include <sound/pcm_params.h>
|
||||
|
||||
#include <linux/platform_data/asoc-s3c.h>
|
||||
#include <mach/dma.h>
|
||||
|
||||
#include "dma.h"
|
||||
#include "pcm.h"
|
||||
@@ -132,11 +131,11 @@ struct s3c_pcm_info {
|
||||
struct s3c_dma_params *dma_capture;
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client s3c_pcm_dma_client_out = {
|
||||
static struct s3c_dma_client s3c_pcm_dma_client_out = {
|
||||
.name = "PCM Stereo out"
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client s3c_pcm_dma_client_in = {
|
||||
static struct s3c_dma_client s3c_pcm_dma_client_in = {
|
||||
.name = "PCM Stereo in"
|
||||
};
|
||||
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
#include "regs-i2s-v2.h"
|
||||
#include "s3c2412-i2s.h"
|
||||
|
||||
static struct s3c2410_dma_client s3c2412_dma_client_out = {
|
||||
static struct s3c_dma_client s3c2412_dma_client_out = {
|
||||
.name = "I2S PCM Stereo out"
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client s3c2412_dma_client_in = {
|
||||
static struct s3c_dma_client s3c2412_dma_client_in = {
|
||||
.name = "I2S PCM Stereo in"
|
||||
};
|
||||
|
||||
|
||||
@@ -31,11 +31,11 @@
|
||||
#include "dma.h"
|
||||
#include "s3c24xx-i2s.h"
|
||||
|
||||
static struct s3c2410_dma_client s3c24xx_dma_client_out = {
|
||||
static struct s3c_dma_client s3c24xx_dma_client_out = {
|
||||
.name = "I2S PCM Stereo out"
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client s3c24xx_dma_client_in = {
|
||||
static struct s3c_dma_client s3c24xx_dma_client_in = {
|
||||
.name = "I2S PCM Stereo in"
|
||||
};
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include <sound/pcm_params.h>
|
||||
|
||||
#include <linux/platform_data/asoc-s3c.h>
|
||||
#include <mach/dma.h>
|
||||
|
||||
#include "dma.h"
|
||||
#include "spdif.h"
|
||||
@@ -94,7 +93,7 @@ struct samsung_spdif_info {
|
||||
struct s3c_dma_params *dma_playback;
|
||||
};
|
||||
|
||||
static struct s3c2410_dma_client spdif_dma_client_out = {
|
||||
static struct s3c_dma_client spdif_dma_client_out = {
|
||||
.name = "S/PDIF Stereo out",
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user