aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/serial_8250.h
diff options
context:
space:
mode:
authorJamie Iles <jamie@jamieiles.com>2011-08-16 17:47:46 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-23 10:54:19 -0700
commit6b1a98d1c4851235d9b6764b3f7b7db7909fc760 (patch)
treec394ab3f6fc315dbfa890b768584a5d7b730d5a8 /include/linux/serial_8250.h
parenttty: serial8250: remove UPIO_DWAPB{,32} (diff)
downloadwireguard-linux-6b1a98d1c4851235d9b6764b3f7b7db7909fc760.tar.xz
wireguard-linux-6b1a98d1c4851235d9b6764b3f7b7db7909fc760.zip
tty: serial8250: add helpers for the DesignWare 8250
The Synopsys DesignWare 8250 is an 8250 that has an extra interrupt that gets raised when writing to the LCR when busy. To handle this we need special serial_out, serial_in and handle_irq methods. Add a new function serial8250_use_designware_io() that configures a uart_port with these accessors. Cc: Alan Cox <alan@linux.intel.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/serial_8250.h')
-rw-r--r--include/linux/serial_8250.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h
index 1f05bbeac01e..09e2dbcd7ca3 100644
--- a/include/linux/serial_8250.h
+++ b/include/linux/serial_8250.h
@@ -86,5 +86,13 @@ int serial8250_handle_irq(struct uart_port *port, unsigned int iir);
extern void serial8250_set_isa_configurator(void (*v)
(int port, struct uart_port *up,
unsigned short *capabilities));
+#ifndef SERIAL_8250_DW
+extern int serial8250_use_designware_io(struct uart_port *up);
+#else
+static inline int serial8250_use_designware_io(struct uart_port *up)
+{
+ return -EIO;
+}
+#endif
#endif