tty: serial: allow ports to override the irq handler
authorJamie Iles <jamie@jamieiles.com>
Mon, 15 Aug 2011 09:17:51 +0000 (10:17 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 23 Aug 2011 17:52:58 +0000 (10:52 -0700)
Some serial ports may have unusal requirements for interrupt handling
(e.g. the Synopsys DesignWare 8250-alike port and it's busy detect
interrupt).  Add a .handle_irq callback that can be used for platforms
to override the interrupt behaviour in a similar fashion to the
.serial_out and .serial_in callbacks.

Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/serial_core.h

index 76e110363745d289b7a570f680e9adb43f219c2a..c31ae43c073df1c187449594ec01c3a08fedb78c 100644 (file)
@@ -300,6 +300,7 @@ struct uart_port {
        void                    (*set_termios)(struct uart_port *,
                                               struct ktermios *new,
                                               struct ktermios *old);
+       int                     (*handle_irq)(struct uart_port *);
        void                    (*pm)(struct uart_port *, unsigned int state,
                                      unsigned int old);
        unsigned int            irq;                    /* irq number */