diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2011-12-12 20:45:11 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2011-12-26 22:31:49 +0800 |
commit | 907b4b5751b2777b0d846bb1746e76de607ac227 (patch) | |
tree | 53e58733c9c80a08247a6fd34eaf522f6a37b1a3 | |
parent | eb8d8e29f74d7ce9b108bca5e62df464b625deb1 (diff) |
OMAP4: McBSP: Clear rx_irq at probe time
On OMAP4 we have one interrupt line per McBSP port.
At proble 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 <at> ti.com>
-rw-r--r-- | arch/arm/plat-omap/mcbsp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index ade6b281cae..321a634e24a 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c @@ -1258,8 +1258,10 @@ static int __devinit omap_mcbsp_probe(struct platform_device *pdev) mcbsp->rx_irq = platform_get_irq_byname(pdev, "rx"); /* 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->rx_irq = 0; + } res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx"); if (!res) { |