summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVikram Pandita <vikram.pandita@ti.com>2009-09-19 13:13:19 -0700
committerLive-CD User <linux@linux.site>2009-09-19 13:13:19 -0700
commit1c2f04937b3e397a5695953c6b82aa4c77d21eb8 (patch)
tree8ccc7300fcc3fb4f3824575a7e7c47a4f3f366ba /include
parent1e066d803ab7e34e9efb3b0766d618c0cd2598e4 (diff)
downloadlinux-3.10-1c2f04937b3e397a5695953c6b82aa4c77d21eb8.tar.gz
linux-3.10-1c2f04937b3e397a5695953c6b82aa4c77d21eb8.tar.bz2
linux-3.10-1c2f04937b3e397a5695953c6b82aa4c77d21eb8.zip
serial: 8250: add IRQ trigger support
There is currently no provision for passing IRQ trigger flags for serial IRQs with triggering requirements (such as GPIO IRQs) This patch adds irqflags to plat_serial8250_port that can be passed from board file to reqest_irq() of 8250 driver Changes are backward compatible with boards passing UPF_SHARE_IRQ flag Tested on Zoom2 board that has IRQF_TRIGGER_RISING requirement for 8250 irq [Moved new flag to end to fix bugs in the original with the old_serial array -- Alan] Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include')
-rw-r--r--include/linux/serial_8250.h1
-rw-r--r--include/linux/serial_core.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h
index d4d2a78ad43..fb46aba11fb 100644
--- a/include/linux/serial_8250.h
+++ b/include/linux/serial_8250.h
@@ -22,6 +22,7 @@ struct plat_serial8250_port {
void __iomem *membase; /* ioremap cookie or NULL */
resource_size_t mapbase; /* resource base */
unsigned int irq; /* interrupt number */
+ unsigned long irqflags; /* request_irq flags */
unsigned int uartclk; /* UART clock rate */
void *private_data;
unsigned char regshift; /* register shift */
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 23d2fb051f9..3cd255f0b21 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -265,6 +265,7 @@ struct uart_port {
unsigned int (*serial_in)(struct uart_port *, int);
void (*serial_out)(struct uart_port *, int, int);
unsigned int irq; /* irq number */
+ unsigned long irqflags; /* irq flags */
unsigned int uartclk; /* base uart clock */
unsigned int fifosize; /* tx fifo size */
unsigned char x_char; /* xon/xoff char */