consoles: polling support, kgdboc
[firefly-linux-kernel-4.4.55.git] / include / linux / serial_core.h
index 09d17b06bf025c29a0c79a71e765e29e36c32d67..7cb094a82456cbe7a6c3409013bf98d16dd9a827 100644 (file)
 /* Broadcom SB1250, etc. SOC */
 #define PORT_SB1250_DUART      77
 
+/* Freescale ColdFire */
+#define PORT_MCF       78
+
+#define PORT_SC26XX    79
+
+
+/* MN10300 on-chip UART numbers */
+#define PORT_MN10300           80
+#define PORT_MN10300_CTS       81
 
 #ifdef __KERNEL__
 
@@ -204,6 +213,10 @@ struct uart_ops {
        void            (*config_port)(struct uart_port *, int);
        int             (*verify_port)(struct uart_port *, struct serial_struct *);
        int             (*ioctl)(struct uart_port *, unsigned int, unsigned long);
+#ifdef CONFIG_CONSOLE_POLL
+       void    (*poll_put_char)(struct uart_port *, unsigned char);
+       int             (*poll_get_char)(struct uart_port *);
+#endif
 };
 
 #define UART_CONFIG_TYPE       (1 << 0)
@@ -291,7 +304,8 @@ struct uart_port {
        resource_size_t         mapbase;                /* for ioremap */
        struct device           *dev;                   /* parent device */
        unsigned char           hub6;                   /* this should be in the 8250 driver */
-       unsigned char           unused[3];
+       unsigned char           suspended;
+       unsigned char           unused[2];
        void                    *private_data;          /* generic platform data pointer */
 };
 
@@ -433,7 +447,7 @@ uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)
 #ifdef SUPPORT_SYSRQ
        if (port->sysrq) {
                if (ch && time_before(jiffies, port->sysrq)) {
-                       handle_sysrq(ch, port->info->tty);
+                       handle_sysrq(ch, port->info ? port->info->tty : NULL);
                        port->sysrq = 0;
                        return 1;
                }