aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2010-10-27 04:16:47 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-11-11 14:06:07 -0500
commitb6100992e31e61a2f252acb8df1f65c01f0b626d (patch)
treede2ea79d29ab2db4938fbfc6f226743db1ea804b /drivers/serial
parent47c344d0bd290e04c57eefdb0a721726e53bb57e (diff)
serial: bfin_5xx: always include DMA headers
On Blackfin systems, peripherals that have optional DMA support always route their interrupts through the corresponding DMA channel -- even when DMA is not being used. So in PIO mode, we still need to request the DMA channel (so interrupts are delivered) which means we need to always include the DMA header for the DMA defines/functions. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/bfin_5xx.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c
index 351cc03578eb..c8ca3b43487d 100644
--- a/drivers/serial/bfin_5xx.c
+++ b/drivers/serial/bfin_5xx.c
@@ -23,6 +23,7 @@
23#include <linux/tty.h> 23#include <linux/tty.h>
24#include <linux/tty_flip.h> 24#include <linux/tty_flip.h>
25#include <linux/serial_core.h> 25#include <linux/serial_core.h>
26#include <linux/dma-mapping.h>
26 27
27#if defined(CONFIG_KGDB_SERIAL_CONSOLE) || \ 28#if defined(CONFIG_KGDB_SERIAL_CONSOLE) || \
28 defined(CONFIG_KGDB_SERIAL_CONSOLE_MODULE) 29 defined(CONFIG_KGDB_SERIAL_CONSOLE_MODULE)
@@ -33,12 +34,10 @@
33#include <asm/gpio.h> 34#include <asm/gpio.h>
34#include <mach/bfin_serial_5xx.h> 35#include <mach/bfin_serial_5xx.h>
35 36
36#ifdef CONFIG_SERIAL_BFIN_DMA 37#include <asm/dma.h>
37#include <linux/dma-mapping.h>
38#include <asm/io.h> 38#include <asm/io.h>
39#include <asm/irq.h> 39#include <asm/irq.h>
40#include <asm/cacheflush.h> 40#include <asm/cacheflush.h>
41#endif
42 41
43#ifdef CONFIG_SERIAL_BFIN_MODULE 42#ifdef CONFIG_SERIAL_BFIN_MODULE
44# undef CONFIG_EARLY_PRINTK 43# undef CONFIG_EARLY_PRINTK
@@ -688,6 +687,13 @@ static int bfin_serial_startup(struct uart_port *port)
688 687
689# ifdef CONFIG_BF54x 688# ifdef CONFIG_BF54x
690 { 689 {
690 /*
691 * UART2 and UART3 on BF548 share interrupt PINs and DMA
692 * controllers with SPORT2 and SPORT3. UART rx and tx
693 * interrupts are generated in PIO mode only when configure
694 * their peripheral mapping registers properly, which means
695 * request corresponding DMA channels in PIO mode as well.
696 */
691 unsigned uart_dma_ch_rx, uart_dma_ch_tx; 697 unsigned uart_dma_ch_rx, uart_dma_ch_tx;
692 698
693 switch (uart->port.irq) { 699 switch (uart->port.irq) {