Skip to content

Commit

Permalink
Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Brown committed Oct 18, 2013
2 parents 61e6cfa + 5a6e19b commit 762f9b1
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 13 deletions.
2 changes: 1 addition & 1 deletion sound/soc/fsl/fsl_ssi.c
Original file line number Diff line number Diff line change
Expand Up @@ -936,7 +936,7 @@ static int fsl_ssi_probe(struct platform_device *pdev)
ssi_private->ssi_phys = res.start;

ssi_private->irq = irq_of_parse_and_map(np, 0);
if (ssi_private->irq == NO_IRQ) {
if (ssi_private->irq == 0) {
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name);
return -ENXIO;
}
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/fsl/imx-mc13783.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ static int imx_mc13783_probe(struct platform_device *pdev)
return ret;
}

if (machine_is_mx31_3ds()) {
if (machine_is_mx31_3ds() || machine_is_mx31moboard()) {
imx_audmux_v2_configure_port(MX31_AUDMUX_PORT4_SSI_PINS_4,
IMX_AUDMUX_V2_PTCR_SYN,
IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) |
Expand Down
23 changes: 12 additions & 11 deletions sound/soc/fsl/imx-ssi.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,19 +600,17 @@ static int imx_ssi_probe(struct platform_device *pdev)
ssi->fiq_params.dma_params_rx = &ssi->dma_params_rx;
ssi->fiq_params.dma_params_tx = &ssi->dma_params_tx;

ret = imx_pcm_fiq_init(pdev, &ssi->fiq_params);
if (ret)
goto failed_pcm_fiq;
ssi->fiq_init = imx_pcm_fiq_init(pdev, &ssi->fiq_params);
ssi->dma_init = imx_pcm_dma_init(pdev);

ret = imx_pcm_dma_init(pdev);
if (ret)
goto failed_pcm_dma;
if (ssi->fiq_init && ssi->dma_init) {
ret = ssi->fiq_init;
goto failed_pcm;
}

return 0;

failed_pcm_dma:
imx_pcm_fiq_exit(pdev);
failed_pcm_fiq:
failed_pcm:
snd_soc_unregister_component(&pdev->dev);
failed_register:
release_mem_region(res->start, resource_size(res));
Expand All @@ -628,8 +626,11 @@ static int imx_ssi_remove(struct platform_device *pdev)
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
struct imx_ssi *ssi = platform_get_drvdata(pdev);

imx_pcm_dma_exit(pdev);
imx_pcm_fiq_exit(pdev);
if (!ssi->dma_init)
imx_pcm_dma_exit(pdev);

if (!ssi->fiq_init)
imx_pcm_fiq_exit(pdev);

snd_soc_unregister_component(&pdev->dev);

Expand Down
2 changes: 2 additions & 0 deletions sound/soc/fsl/imx-ssi.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,8 @@ struct imx_ssi {
struct imx_dma_data filter_data_rx;
struct imx_pcm_fiq_params fiq_params;

int fiq_init;
int dma_init;
int enabled;
};

Expand Down

0 comments on commit 762f9b1

Please sign in to comment.