]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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 b27bccd4390f65ca361f4ea7c0ea17031d055a6a..821cb41f00e6ee9528e5d46a8ae6afd8e82b5204 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 124e6e695a3a20d6069e4b1ca2361143cf48d072..ce8d4ffcc425b045377305f176aa8fa85af0068f 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 240a361b674fe72ce657067e5303156b7add6a6f..13d04bf9547d8592f2340cce0c058be2eeab2342 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 48ec7651989b093fc015e44b59657c7000e11012..04185e03d7bec56197cb7653773200449f11b65c 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