aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorVikram Pandita <vikram.pandita@ti.com>2009-09-19 16:13:19 -0400
committerLive-CD User <linux@linux.site>2009-09-19 16:13:19 -0400
commit1c2f04937b3e397a5695953c6b82aa4c77d21eb8 (patch)
tree8ccc7300fcc3fb4f3824575a7e7c47a4f3f366ba /include/linux
parent1e066d803ab7e34e9efb3b0766d618c0cd2598e4 (diff)
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/linux')
-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 d4d2a78ad43e..fb46aba11fb5 100644
--- a/include/linux/serial_8250.h
+++ b/include/linux/serial_8250.h
@@ -22,6 +22,7 @@ struct plat_serial8250_port {
22 void __iomem *membase; /* ioremap cookie or NULL */ 22 void __iomem *membase; /* ioremap cookie or NULL */
23 resource_size_t mapbase; /* resource base */ 23 resource_size_t mapbase; /* resource base */
24 unsigned int irq; /* interrupt number */ 24 unsigned int irq; /* interrupt number */
25 unsigned long irqflags; /* request_irq flags */
25 unsigned int uartclk; /* UART clock rate */ 26 unsigned int uartclk; /* UART clock rate */
26 void *private_data; 27 void *private_data;
27 unsigned char regshift; /* register shift */ 28 unsigned char regshift; /* register shift */
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 23d2fb051f97..3cd255f0b211 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -265,6 +265,7 @@ struct uart_port {
265 unsigned int (*serial_in)(struct uart_port *, int); 265 unsigned int (*serial_in)(struct uart_port *, int);
266 void (*serial_out)(struct uart_port *, int, int); 266 void (*serial_out)(struct uart_port *, int, int);
267 unsigned int irq; /* irq number */ 267 unsigned int irq; /* irq number */
268 unsigned long irqflags; /* irq flags */
268 unsigned int uartclk; /* base uart clock */ 269 unsigned int uartclk; /* base uart clock */
269 unsigned int fifosize; /* tx fifo size */ 270 unsigned int fifosize; /* tx fifo size */
270 unsigned char x_char; /* xon/xoff char */ 271 unsigned char x_char; /* xon/xoff char */