Merge remote-tracking branches 'asoc/topic/blackfin', 'asoc/topic/build', 'asoc/topic/cirrus' and 'asoc/topic/compress' into asoc-next
This commit is contained in:
commit
a641ed5e35
|
@ -308,7 +308,7 @@ static int bf5xx_pcm_copy_user(struct snd_pcm_substream *substream,
|
|||
}
|
||||
#endif
|
||||
|
||||
static struct snd_pcm_ops bf5xx_pcm_ac97_ops = {
|
||||
static const struct snd_pcm_ops bf5xx_pcm_ac97_ops = {
|
||||
.open = bf5xx_pcm_open,
|
||||
.ioctl = snd_pcm_lib_ioctl,
|
||||
.hw_params = bf5xx_pcm_hw_params,
|
||||
|
|
|
@ -318,7 +318,7 @@ static int bf5xx_pcm_silence(struct snd_pcm_substream *substream,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct snd_pcm_ops bf5xx_pcm_i2s_ops = {
|
||||
static const struct snd_pcm_ops bf5xx_pcm_i2s_ops = {
|
||||
.open = bf5xx_pcm_open,
|
||||
.ioctl = snd_pcm_lib_ioctl,
|
||||
.hw_params = bf5xx_pcm_hw_params,
|
||||
|
|
|
@ -164,7 +164,7 @@ static int bfin_i2s_resume(struct snd_soc_dai *dai)
|
|||
#define BFIN_I2S_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops bfin_i2s_dai_ops = {
|
||||
static const struct snd_soc_dai_ops bfin_i2s_dai_ops = {
|
||||
.hw_params = bfin_i2s_hw_params,
|
||||
.set_fmt = bfin_i2s_set_dai_fmt,
|
||||
};
|
||||
|
|
|
@ -129,7 +129,7 @@ static void setup_desc(struct dmasg *desc, void *buf, int fragcount,
|
|||
|
||||
for (i = 0; i < fragcount; ++i) {
|
||||
desc[i].next_desc_addr = &(desc[i + 1]);
|
||||
desc[i].start_addr = (unsigned long)buf + i*fragsize;
|
||||
desc[i].start_addr = (unsigned long)buf + i * fragsize;
|
||||
desc[i].cfg = cfg;
|
||||
desc[i].x_count = count;
|
||||
desc[i].x_modify = wdsize;
|
||||
|
@ -138,7 +138,7 @@ static void setup_desc(struct dmasg *desc, void *buf, int fragcount,
|
|||
}
|
||||
|
||||
/* make circular */
|
||||
desc[fragcount-1].next_desc_addr = desc;
|
||||
desc[fragcount - 1].next_desc_addr = desc;
|
||||
}
|
||||
|
||||
int sport_config_tx_dma(struct sport_device *sport, void *buf,
|
||||
|
@ -148,7 +148,7 @@ int sport_config_tx_dma(struct sport_device *sport, void *buf,
|
|||
unsigned int cfg;
|
||||
dma_addr_t addr;
|
||||
|
||||
count = fragsize/sport->wdsize;
|
||||
count = fragsize / sport->wdsize;
|
||||
|
||||
if (sport->tx_desc)
|
||||
dma_free_coherent(NULL, sport->tx_desc_size,
|
||||
|
@ -166,8 +166,7 @@ int sport_config_tx_dma(struct sport_device *sport, void *buf,
|
|||
cfg = DMAFLOW_LIST | DI_EN | compute_wdsize(sport->wdsize) | NDSIZE_6;
|
||||
|
||||
setup_desc(sport->tx_desc, buf, fragcount, fragsize,
|
||||
cfg|DMAEN, count, sport->wdsize);
|
||||
|
||||
cfg | DMAEN, count, sport->wdsize);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(sport_config_tx_dma);
|
||||
|
@ -179,7 +178,7 @@ int sport_config_rx_dma(struct sport_device *sport, void *buf,
|
|||
unsigned int cfg;
|
||||
dma_addr_t addr;
|
||||
|
||||
count = fragsize/sport->wdsize;
|
||||
count = fragsize / sport->wdsize;
|
||||
|
||||
if (sport->rx_desc)
|
||||
dma_free_coherent(NULL, sport->rx_desc_size,
|
||||
|
@ -198,8 +197,7 @@ int sport_config_rx_dma(struct sport_device *sport, void *buf,
|
|||
| WNR | NDSIZE_6;
|
||||
|
||||
setup_desc(sport->rx_desc, buf, fragcount, fragsize,
|
||||
cfg|DMAEN, count, sport->wdsize);
|
||||
|
||||
cfg | DMAEN, count, sport->wdsize);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(sport_config_rx_dma);
|
||||
|
@ -226,7 +224,7 @@ static irqreturn_t sport_tx_irq(int irq, void *dev_id)
|
|||
static unsigned long status;
|
||||
|
||||
status = get_dma_curr_irqstat(sport->tx_dma_chan);
|
||||
if (status & (DMA_DONE|DMA_ERR)) {
|
||||
if (status & (DMA_DONE | DMA_ERR)) {
|
||||
clear_dma_irqstat(sport->tx_dma_chan);
|
||||
SSYNC();
|
||||
}
|
||||
|
@ -241,7 +239,7 @@ static irqreturn_t sport_rx_irq(int irq, void *dev_id)
|
|||
unsigned long status;
|
||||
|
||||
status = get_dma_curr_irqstat(sport->rx_dma_chan);
|
||||
if (status & (DMA_DONE|DMA_ERR)) {
|
||||
if (status & (DMA_DONE | DMA_ERR)) {
|
||||
clear_dma_irqstat(sport->rx_dma_chan);
|
||||
SSYNC();
|
||||
}
|
||||
|
@ -388,26 +386,24 @@ struct sport_device *sport_create(struct platform_device *pdev)
|
|||
int ret;
|
||||
|
||||
sport = kzalloc(sizeof(*sport), GFP_KERNEL);
|
||||
if (!sport) {
|
||||
dev_err(dev, "Unable to allocate memory for sport device\n");
|
||||
if (!sport)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
sport->pdev = pdev;
|
||||
|
||||
ret = sport_get_resource(sport);
|
||||
if (ret) {
|
||||
kfree(sport);
|
||||
return NULL;
|
||||
}
|
||||
if (ret)
|
||||
goto free_data;
|
||||
|
||||
ret = sport_request_resource(sport);
|
||||
if (ret) {
|
||||
kfree(sport);
|
||||
return NULL;
|
||||
}
|
||||
if (ret)
|
||||
goto free_data;
|
||||
|
||||
dev_dbg(dev, "SPORT create success\n");
|
||||
return sport;
|
||||
free_data:
|
||||
kfree(sport);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(sport_create);
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ static int edb93xx_hw_params(struct snd_pcm_substream *substream,
|
|||
SND_SOC_CLOCK_OUT);
|
||||
}
|
||||
|
||||
static struct snd_soc_ops edb93xx_ops = {
|
||||
static const struct snd_soc_ops edb93xx_ops = {
|
||||
.hw_params = edb93xx_hw_params,
|
||||
};
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ static int snappercl15_hw_params(struct snd_pcm_substream *substream,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct snd_soc_ops snappercl15_ops = {
|
||||
static const struct snd_soc_ops snappercl15_ops = {
|
||||
.hw_params = snappercl15_hw_params,
|
||||
};
|
||||
|
||||
|
|
|
@ -375,6 +375,7 @@ obj-$(CONFIG_SND_SOC_SIGMADSP_REGMAP) += snd-soc-sigmadsp-regmap.o
|
|||
obj-$(CONFIG_SND_SOC_SI476X) += snd-soc-si476x.o
|
||||
obj-$(CONFIG_SND_SOC_SN95031) +=snd-soc-sn95031.o
|
||||
obj-$(CONFIG_SND_SOC_SPDIF) += snd-soc-spdif-rx.o snd-soc-spdif-tx.o
|
||||
obj-$(CONFIG_SND_SOC_SIRF_AUDIO_CODEC) += sirf-audio-codec.o
|
||||
obj-$(CONFIG_SND_SOC_SSM2518) += snd-soc-ssm2518.o
|
||||
obj-$(CONFIG_SND_SOC_SSM2602) += snd-soc-ssm2602.o
|
||||
obj-$(CONFIG_SND_SOC_SSM2602_SPI) += snd-soc-ssm2602-spi.o
|
||||
|
|
|
@ -432,10 +432,12 @@ static int sirf_audio_codec_remove(struct snd_soc_codec *codec)
|
|||
static const struct snd_soc_codec_driver soc_codec_device_sirf_audio_codec = {
|
||||
.probe = sirf_audio_codec_probe,
|
||||
.remove = sirf_audio_codec_remove,
|
||||
.dapm_widgets = sirf_audio_codec_dapm_widgets,
|
||||
.num_dapm_widgets = ARRAY_SIZE(sirf_audio_codec_dapm_widgets),
|
||||
.dapm_routes = sirf_audio_codec_map,
|
||||
.num_dapm_routes = ARRAY_SIZE(sirf_audio_codec_map),
|
||||
.component_driver = {
|
||||
.dapm_widgets = sirf_audio_codec_dapm_widgets,
|
||||
.num_dapm_widgets = ARRAY_SIZE(sirf_audio_codec_dapm_widgets),
|
||||
.dapm_routes = sirf_audio_codec_map,
|
||||
.num_dapm_routes = ARRAY_SIZE(sirf_audio_codec_map),
|
||||
},
|
||||
.idle_bias_off = true,
|
||||
};
|
||||
|
||||
|
|
|
@ -737,9 +737,6 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
|
|||
}
|
||||
|
||||
/* check client and interface hw capabilities */
|
||||
snprintf(new_name, sizeof(new_name), "%s %s-%d",
|
||||
rtd->dai_link->stream_name, codec_dai->name, num);
|
||||
|
||||
if (codec_dai->driver->playback.channels_min)
|
||||
playback = 1;
|
||||
if (codec_dai->driver->capture.channels_min)
|
||||
|
@ -758,21 +755,18 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if(playback)
|
||||
if (playback)
|
||||
direction = SND_COMPRESS_PLAYBACK;
|
||||
else
|
||||
direction = SND_COMPRESS_CAPTURE;
|
||||
|
||||
compr = kzalloc(sizeof(*compr), GFP_KERNEL);
|
||||
if (compr == NULL) {
|
||||
snd_printk(KERN_ERR "Cannot allocate compr\n");
|
||||
if (!compr)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
compr->ops = devm_kzalloc(rtd->card->dev, sizeof(soc_compr_ops),
|
||||
GFP_KERNEL);
|
||||
if (compr->ops == NULL) {
|
||||
dev_err(rtd->card->dev, "Cannot allocate compressed ops\n");
|
||||
if (!compr->ops) {
|
||||
ret = -ENOMEM;
|
||||
goto compr_err;
|
||||
}
|
||||
|
@ -797,19 +791,18 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
|
|||
else if (rtd->dai_link->dpcm_capture)
|
||||
be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream->private_data = rtd;
|
||||
memcpy(compr->ops, &soc_compr_dyn_ops, sizeof(soc_compr_dyn_ops));
|
||||
} else
|
||||
} else {
|
||||
snprintf(new_name, sizeof(new_name), "%s %s-%d",
|
||||
rtd->dai_link->stream_name, codec_dai->name, num);
|
||||
|
||||
memcpy(compr->ops, &soc_compr_ops, sizeof(soc_compr_ops));
|
||||
}
|
||||
|
||||
/* Add copy callback for not memory mapped DSPs */
|
||||
if (platform->driver->compr_ops && platform->driver->compr_ops->copy)
|
||||
compr->ops->copy = soc_compr_copy;
|
||||
|
||||
mutex_init(&compr->lock);
|
||||
|
||||
snprintf(new_name, sizeof(new_name), "%s %s-%d",
|
||||
rtd->dai_link->stream_name,
|
||||
rtd->codec_dai->name, num);
|
||||
|
||||
ret = snd_compress_new(rtd->card->snd_card, num, direction,
|
||||
new_name, compr);
|
||||
if (ret < 0) {
|
||||
|
|
Loading…
Reference in a new issue