aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2011-12-12 20:45:11 +0800
committerAndy Green <andy.green@linaro.org>2011-12-26 22:31:49 +0800
commit907b4b5751b2777b0d846bb1746e76de607ac227 (patch)
tree53e58733c9c80a08247a6fd34eaf522f6a37b1a3
parenteb8d8e29f74d7ce9b108bca5e62df464b625deb1 (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.c4
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) {