serial: 8250: Add IrDA to UART capabilities
authorEd Blake <ed.blake@imgtec.com>
Thu, 10 Nov 2016 18:07:54 +0000 (18:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Nov 2016 09:59:38 +0000 (10:59 +0100)
Add an IrDA UART capability flag and change the type of
uart_8250_port.capabilities to be u32 rather than unsigned short to
accommodate the additional flag.

Signed-off-by: Ed Blake <ed.blake@imgtec.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/platform/ce4100/ce4100.c
drivers/tty/serial/8250/8250.h
drivers/tty/serial/8250/8250_core.c
include/linux/serial_8250.h

index b27bccd..821cb41 100644 (file)
@@ -89,7 +89,7 @@ static void ce4100_mem_serial_out(struct uart_port *p, int offset, int value)
 }
 
 static void ce4100_serial_fixup(int port, struct uart_port *up,
-       unsigned short *capabilites)
+       u32 *capabilites)
 {
 #ifdef CONFIG_EARLY_PRINTK
        /*
index 124e6e6..ce8d4ff 100644 (file)
@@ -80,6 +80,7 @@ struct serial8250_config {
 #define UART_CAP_RTOIE (1 << 13)       /* UART needs IER bit 4 set (Xscale, Tegra) */
 #define UART_CAP_HFIFO (1 << 14)       /* UART has a "hidden" FIFO */
 #define UART_CAP_RPM   (1 << 15)       /* Runtime PM is active while idle */
+#define UART_CAP_IRDA  (1 << 16)       /* UART supports IrDA line discipline */
 
 #define UART_BUG_QUOT  (1 << 0)        /* UART has buggy quot LSB */
 #define UART_BUG_TXEN  (1 << 1)        /* UART has buggy TX IIR status */
index 240a361..13d04bf 100644 (file)
@@ -425,10 +425,10 @@ struct uart_8250_port *serial8250_get_port(int line)
 EXPORT_SYMBOL_GPL(serial8250_get_port);
 
 static void (*serial8250_isa_config)(int port, struct uart_port *up,
-       unsigned short *capabilities);
+       u32 *capabilities);
 
 void serial8250_set_isa_configurator(
-       void (*v)(int port, struct uart_port *up, unsigned short *capabilities))
+       void (*v)(int port, struct uart_port *up, u32 *capabilities))
 {
        serial8250_isa_config = v;
 }
index 48ec765..04185e0 100644 (file)
@@ -94,7 +94,7 @@ struct uart_8250_port {
        struct uart_port        port;
        struct timer_list       timer;          /* "no irq" timer */
        struct list_head        list;           /* ports on this IRQ */
-       unsigned short          capabilities;   /* port capabilities */
+       u32                     capabilities;   /* port capabilities */
        unsigned short          bugs;           /* port bugs */
        bool                    fifo_bug;       /* min RX trigger if enabled */
        unsigned int            tx_loadsz;      /* transmit fifo load size */
@@ -168,6 +168,6 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe);
 
 extern void serial8250_set_isa_configurator(void (*v)
                                        (int port, struct uart_port *up,
-                                               unsigned short *capabilities));
+                                               u32 *capabilities));
 
 #endif