]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/serial_core.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / include / linux / serial_core.h
index 212eb4c67797ba9b5e27fb9258d583d68d7a85d5..758c5b0c6fd3cf4121fd2468dcaaf6f489bb0573 100644 (file)
@@ -95,7 +95,7 @@
 /* PPC CPM type number */
 #define PORT_CPM        58
 
-/* MPC52xx type numbers */
+/* MPC52xx (and MPC512x) type numbers */
 #define PORT_MPC52xx   59
 
 /* IBM icom */
 /* TI OMAP-UART */
 #define PORT_OMAP      96
 
+/* VIA VT8500 SoC */
+#define PORT_VT8500    97
+
 #ifdef __KERNEL__
 
 #include <linux/compiler.h>
 #include <linux/tty.h>
 #include <linux/mutex.h>
 #include <linux/sysrq.h>
+#include <linux/pps_kernel.h>
 
 struct uart_port;
 struct serial_struct;
@@ -311,6 +315,7 @@ struct uart_port {
 #define UPIO_TSI               (5)                     /* Tsi108/109 type IO */
 #define UPIO_DWAPB             (6)                     /* DesignWare APB UART */
 #define UPIO_RM9000            (7)                     /* RM9000 type IO */
+#define UPIO_DWAPB32           (8)                     /* DesignWare APB UART (32 bit accesses) */
 
        unsigned int            read_status_mask;       /* driver specific */
        unsigned int            ignore_status_mask;     /* driver specific */
@@ -361,6 +366,7 @@ struct uart_port {
        struct device           *dev;                   /* parent device */
        unsigned char           hub6;                   /* this should be in the 8250 driver */
        unsigned char           suspended;
+       unsigned char           irq_wake;
        unsigned char           unused[2];
        void                    *private_data;          /* generic platform data pointer */
 };
@@ -523,10 +529,10 @@ uart_handle_dcd_change(struct uart_port *uport, unsigned int status)
        struct uart_state *state = uport->state;
        struct tty_port *port = &state->port;
        struct tty_ldisc *ld = tty_ldisc_ref(port->tty);
-       struct timespec ts;
+       struct pps_event_time ts;
 
        if (ld && ld->ops->dcd_change)
-               getnstimeofday(&ts);
+               pps_get_ts(&ts);
 
        uport->icount.dcd++;
 #ifdef CONFIG_HARD_PPS