diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/mcbsp.c | 12 | ||||
-rw-r--r-- | arch/arm/plat-omap/mcbsp.c | 20 |
2 files changed, 16 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c index be8fce395a58..016fe60c71ad 100644 --- a/arch/arm/mach-omap2/mcbsp.c +++ b/arch/arm/mach-omap2/mcbsp.c | |||
@@ -186,32 +186,28 @@ static struct omap_mcbsp_platform_data omap44xx_mcbsp_pdata[] = { | |||
186 | .phys_base = OMAP44XX_MCBSP1_BASE, | 186 | .phys_base = OMAP44XX_MCBSP1_BASE, |
187 | .dma_rx_sync = OMAP44XX_DMA_MCBSP1_RX, | 187 | .dma_rx_sync = OMAP44XX_DMA_MCBSP1_RX, |
188 | .dma_tx_sync = OMAP44XX_DMA_MCBSP1_TX, | 188 | .dma_tx_sync = OMAP44XX_DMA_MCBSP1_TX, |
189 | .rx_irq = INT_24XX_MCBSP1_IRQ_RX, | 189 | .tx_irq = OMAP44XX_IRQ_MCBSP1, |
190 | .tx_irq = INT_24XX_MCBSP1_IRQ_TX, | ||
191 | .ops = &omap2_mcbsp_ops, | 190 | .ops = &omap2_mcbsp_ops, |
192 | }, | 191 | }, |
193 | { | 192 | { |
194 | .phys_base = OMAP44XX_MCBSP2_BASE, | 193 | .phys_base = OMAP44XX_MCBSP2_BASE, |
195 | .dma_rx_sync = OMAP44XX_DMA_MCBSP2_RX, | 194 | .dma_rx_sync = OMAP44XX_DMA_MCBSP2_RX, |
196 | .dma_tx_sync = OMAP44XX_DMA_MCBSP2_TX, | 195 | .dma_tx_sync = OMAP44XX_DMA_MCBSP2_TX, |
197 | .rx_irq = INT_24XX_MCBSP2_IRQ_RX, | 196 | .tx_irq = OMAP44XX_IRQ_MCBSP2, |
198 | .tx_irq = INT_24XX_MCBSP2_IRQ_TX, | ||
199 | .ops = &omap2_mcbsp_ops, | 197 | .ops = &omap2_mcbsp_ops, |
200 | }, | 198 | }, |
201 | { | 199 | { |
202 | .phys_base = OMAP44XX_MCBSP3_BASE, | 200 | .phys_base = OMAP44XX_MCBSP3_BASE, |
203 | .dma_rx_sync = OMAP44XX_DMA_MCBSP3_RX, | 201 | .dma_rx_sync = OMAP44XX_DMA_MCBSP3_RX, |
204 | .dma_tx_sync = OMAP44XX_DMA_MCBSP3_TX, | 202 | .dma_tx_sync = OMAP44XX_DMA_MCBSP3_TX, |
205 | .rx_irq = INT_24XX_MCBSP3_IRQ_RX, | 203 | .tx_irq = OMAP44XX_IRQ_MCBSP3, |
206 | .tx_irq = INT_24XX_MCBSP3_IRQ_TX, | ||
207 | .ops = &omap2_mcbsp_ops, | 204 | .ops = &omap2_mcbsp_ops, |
208 | }, | 205 | }, |
209 | { | 206 | { |
210 | .phys_base = OMAP44XX_MCBSP4_BASE, | 207 | .phys_base = OMAP44XX_MCBSP4_BASE, |
211 | .dma_rx_sync = OMAP44XX_DMA_MCBSP4_RX, | 208 | .dma_rx_sync = OMAP44XX_DMA_MCBSP4_RX, |
212 | .dma_tx_sync = OMAP44XX_DMA_MCBSP4_TX, | 209 | .dma_tx_sync = OMAP44XX_DMA_MCBSP4_TX, |
213 | .rx_irq = INT_24XX_MCBSP4_IRQ_RX, | 210 | .tx_irq = OMAP44XX_IRQ_MCBSP4, |
214 | .tx_irq = INT_24XX_MCBSP4_IRQ_TX, | ||
215 | .ops = &omap2_mcbsp_ops, | 211 | .ops = &omap2_mcbsp_ops, |
216 | }, | 212 | }, |
217 | }; | 213 | }; |
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index 4ff7a11b1838..8bbbb93e2128 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
@@ -778,14 +778,17 @@ int omap_mcbsp_request(unsigned int id) | |||
778 | goto err_clk_disable; | 778 | goto err_clk_disable; |
779 | } | 779 | } |
780 | 780 | ||
781 | init_completion(&mcbsp->rx_irq_completion); | 781 | if (mcbsp->rx_irq) { |
782 | err = request_irq(mcbsp->rx_irq, omap_mcbsp_rx_irq_handler, | 782 | init_completion(&mcbsp->rx_irq_completion); |
783 | err = request_irq(mcbsp->rx_irq, | ||
784 | omap_mcbsp_rx_irq_handler, | ||
783 | 0, "McBSP", (void *)mcbsp); | 785 | 0, "McBSP", (void *)mcbsp); |
784 | if (err != 0) { | 786 | if (err != 0) { |
785 | dev_err(mcbsp->dev, "Unable to request RX IRQ %d " | 787 | dev_err(mcbsp->dev, "Unable to request RX IRQ %d " |
786 | "for McBSP%d\n", mcbsp->rx_irq, | 788 | "for McBSP%d\n", mcbsp->rx_irq, |
787 | mcbsp->id); | 789 | mcbsp->id); |
788 | goto err_free_irq; | 790 | goto err_free_irq; |
791 | } | ||
789 | } | 792 | } |
790 | } | 793 | } |
791 | 794 | ||
@@ -835,7 +838,8 @@ void omap_mcbsp_free(unsigned int id) | |||
835 | 838 | ||
836 | if (mcbsp->io_type == OMAP_MCBSP_IRQ_IO) { | 839 | if (mcbsp->io_type == OMAP_MCBSP_IRQ_IO) { |
837 | /* Free IRQs */ | 840 | /* Free IRQs */ |
838 | free_irq(mcbsp->rx_irq, (void *)mcbsp); | 841 | if (mcbsp->rx_irq) |
842 | free_irq(mcbsp->rx_irq, (void *)mcbsp); | ||
839 | free_irq(mcbsp->tx_irq, (void *)mcbsp); | 843 | free_irq(mcbsp->tx_irq, (void *)mcbsp); |
840 | } | 844 | } |
841 | 845 | ||