mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
ASoC: ux500_pcm: Differentiate between pdata and DT initialisation
If booting with full DT support (i.e. DMA too, the last piece of the puzzle), then we don't need to use the compatible_request_channel call back or require some of the historical bumph which probably isn't required by a platform data start-up now either. This will also be ripped out in upcoming commits. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
ead20611a2
commit
86a3fdfc63
1 changed files with 15 additions and 5 deletions
|
@ -145,15 +145,25 @@ static const struct snd_dmaengine_pcm_config ux500_dmaengine_pcm_config = {
|
|||
.prepare_slave_config = ux500_pcm_prepare_slave_config,
|
||||
};
|
||||
|
||||
static const struct snd_dmaengine_pcm_config ux500_dmaengine_of_pcm_config = {
|
||||
.compat_request_channel = ux500_pcm_request_chan,
|
||||
.prepare_slave_config = ux500_pcm_prepare_slave_config,
|
||||
};
|
||||
|
||||
int ux500_pcm_register_platform(struct platform_device *pdev)
|
||||
{
|
||||
const struct snd_dmaengine_pcm_config *pcm_config;
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
int ret;
|
||||
|
||||
ret = snd_dmaengine_pcm_register(&pdev->dev,
|
||||
&ux500_dmaengine_pcm_config,
|
||||
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
|
||||
SND_DMAENGINE_PCM_FLAG_COMPAT |
|
||||
SND_DMAENGINE_PCM_FLAG_NO_DT);
|
||||
if (np)
|
||||
pcm_config = &ux500_dmaengine_of_pcm_config;
|
||||
else
|
||||
pcm_config = &ux500_dmaengine_pcm_config;
|
||||
|
||||
ret = snd_dmaengine_pcm_register(&pdev->dev, pcm_config,
|
||||
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
|
||||
SND_DMAENGINE_PCM_FLAG_COMPAT);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev,
|
||||
"%s: ERROR: Failed to register platform '%s' (%d)!\n",
|
||||
|
|
Loading…
Reference in a new issue