The following patchset cleans up the atmel_serial driver a bit, moves a significant portion of the interrupt handler into a tasklet, and adds DMA support. This is the result of a combined effort by Chip Coldwell, Remy Bohmer and me. The patches should apply cleanly onto Linus' latest git tree.
It all seems to behave both with and without DMA enabled, but I'll do some more testing tomorrow. Note that break and error handling doesn't work too well with DMA enabled. This is a common problem with all the efforts I've seen adding DMA support to this driver (including my own). I'm tempted to just ignore the problem for now and hopefully come up with a solution later. Everyone, please give it a try and/or review the code. PS: Andrew, I'm sending it to you because I believe you're the maintainer of this driver, although MAINTAINERS doesn't say anything about it. Please let me know if this isn't how you want it. Chip Coldwell (1): atmel_serial: Add DMA support Haavard Skinnemoen (2): atmel_serial: Use cpu_relax() when busy-waiting atmel_serial: Use existing console options only if BRG is running Remy Bohmer (2): atmel_serial: Clean up the code atmel_serial: Split the interrupt handler drivers/serial/atmel_serial.c | 881 ++++++++++++++++++++++++++++++++--------- 1 files changed, 700 insertions(+), 181 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/