Irda driver changes to support on 3430 Signed-off-by: Girish S G <girishsg@xxxxxx> --- drivers/net/irda/omap-ir.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) Index: linux-omap-2.6_today/drivers/net/irda/omap-ir.c =================================================================== --- linux-omap-2.6_today.orig/drivers/net/irda/omap-ir.c 2008-07-03 10:33:57.000000000 +0530 +++ linux-omap-2.6_today/drivers/net/irda/omap-ir.c 2008-07-03 10:35:30.000000000 +0530 @@ -217,7 +217,7 @@ struct net_device *dev = data; struct omap_irda *omap_ir = netdev_priv(dev); - /*Stop DMA controller */ + /* Stop DMA controller */ omap_stop_dma(omap_ir->tx_dma_channel); } @@ -378,8 +378,12 @@ skb_reserve(skb, 1); - w = omap_get_dma_dst_pos(omap_ir->rx_dma_channel) - - omap_ir->rx_buf_dma_phys; + w = OMAP_DMA4_CDAC(omap_ir->rx_dma_channel); + + if (cpu_is_omap16xx()) + w -= OMAP1_DMA_CDSA_L(omap_ir->rx_dma_channel); + if (cpu_is_omap24xx() || cpu_is_omap34xx()) + w -= OMAP_DMA4_CDSA(omap_ir->rx_dma_channel); if (!IS_FIR(omap_ir)) /* Copy DMA buffer to skb */ @@ -604,6 +608,8 @@ err_irlap: omap_ir->open = 0; omap_irda_shutdown(omap_ir); + if (omap_ir->pdata->select_irda) + omap_ir->pdata->select_irda(omap_ir->dev, ~IR_SEL); err_startup: dma_free_coherent(NULL, IRDA_SIR_MAX_FRAME, omap_ir->tx_buf_dma_virt, omap_ir->tx_buf_dma_phys); @@ -636,6 +642,8 @@ omap_ir->tx_buf_dma_phys); omap_irda_shutdown(omap_ir); + if (omap_ir->pdata->select_irda) + omap_ir->pdata->select_irda(omap_ir->dev, ~IR_SEL); /* Stop IrLAP */ if (omap_ir->irlap) { -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html