mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
ASoC: omap McBSP: Clear rx_irq at probe time for OMAP4
On OMAP4 we have one interrupt line per McBSP port. At probe time tx, and rx irq value will be -ENXIO, and only the tx irq will get corrected. In omap_mcbsp_request if the rx_irq is not 0 we proceed, and try to request the interrupt, which will fail on OMAP4 (rx_irq == -6). To avoid this error, clear the rx_irq at probe time on OMAP4. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: Liam Girdwood <lrg@ti.com>
This commit is contained in:
parent
e386615c01
commit
73c9522e76
@ -958,8 +958,10 @@ int __devinit omap_mcbsp_init(struct platform_device *pdev)
|
|||||||
mcbsp->rx_irq = platform_get_irq_byname(pdev, "rx");
|
mcbsp->rx_irq = platform_get_irq_byname(pdev, "rx");
|
||||||
|
|
||||||
/* From OMAP4 there will be a single irq line */
|
/* From OMAP4 there will be a single irq line */
|
||||||
if (mcbsp->tx_irq == -ENXIO)
|
if (mcbsp->tx_irq == -ENXIO) {
|
||||||
mcbsp->tx_irq = platform_get_irq(pdev, 0);
|
mcbsp->tx_irq = platform_get_irq(pdev, 0);
|
||||||
|
mcbsp->rx_irq = 0;
|
||||||
|
}
|
||||||
|
|
||||||
res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
|
res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx");
|
||||||
if (!res) {
|
if (!res) {
|
||||||
|
Loading…
Reference in New Issue
Block a user