diff options
author | Vikram Pandita <vikram.pandita@ti.com> | 2009-09-19 13:13:19 -0700 |
---|---|---|
committer | Live-CD User <linux@linux.site> | 2009-09-19 13:13:19 -0700 |
commit | 1c2f04937b3e397a5695953c6b82aa4c77d21eb8 (patch) | |
tree | 8ccc7300fcc3fb4f3824575a7e7c47a4f3f366ba /include | |
parent | 1e066d803ab7e34e9efb3b0766d618c0cd2598e4 (diff) | |
download | linux-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.h | 1 | ||||
-rw-r--r-- | include/linux/serial_core.h | 1 |
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 */ |