* it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2, or (at your option)
  * any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; without even the 
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  * PURPOSE.  See the GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
        .get_uart_bytes_left =          neo_get_uart_bytes_left,
        .send_immediate_char =          neo_send_immediate_char
 };
-        
+
 static uint dgnc_offset_table[8] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
 
 
 
        efr |= (UART_17158_EFR_ECB | UART_17158_EFR_CTSDSR);
 
-       /* Turn off auto Xon flow control */   
+       /* Turn off auto Xon flow control */
        efr &= ~(UART_17158_EFR_IXON);
 
        /* Why? Becuz Exar's spec says we have to zero it out before setting it */
                                        DGNC_UNLOCK(ch->ch_lock, lock_flags);
                                }
                                DPR_INTR(("Port %d. XON detected in incoming data\n", port));
-                       } 
+                       }
                        else if (cause == UART_17158_XOFF_DETECT) {
                                if (!(brd->channels[port]->ch_flags & CH_STOP)) {
                                        DGNC_LOCK(ch->ch_lock, lock_flags);
                return;
        }
 
-       ch = un->un_ch;   
+       ch = un->un_ch;
        if (!ch || ch->magic != DGNC_CHANNEL_MAGIC) {
                return;
        }
 
        DPR_PARAM(("param start: tdev: %x cflags: %x oflags: %x iflags: %x\n",
                ch->ch_tun.un_dev, ch->ch_c_cflag, ch->ch_c_oflag, ch->ch_c_iflag));
-         
+
        /*
         * If baud rate is zero, flush queues, and set mval to drop DTR.
         */
                jindex = baud;
 
                if ((iindex >= 0) && (iindex < 4) && (jindex >= 0) && (jindex < 16)) {
-                       baud = bauds[iindex][jindex];  
+                       baud = bauds[iindex][jindex];
                } else {
                        DPR_IOCTL(("baud indices were out of range (%d)(%d)",
                                iindex, jindex));
                lcr |= UART_LCR_EPAR;
        }
 
-       /* 
+       /*
         * Not all platforms support mark/space parity,
         * so this will hide behind an ifdef.
         */
 #ifdef CMSPAR
-       if (ch->ch_c_cflag & CMSPAR) 
+       if (ch->ch_c_cflag & CMSPAR)
                lcr |= UART_LCR_SPAR;
 #endif
 
                        neo_set_no_input_flow_control(ch);
                else
                        neo_set_ixoff_flow_control(ch);
-       } 
+       }
        else {
                neo_set_no_input_flow_control(ch);
        }
                         */
                        neo_parse_isr(brd, port);
                        continue;
-                   
+
                default:
                        /*
                         * The UART triggered us with a bogus interrupt type.
        uchar linestatus = 0;
        uchar error_mask = 0;
         int n = 0;
-        int total = 0;  
+        int total = 0;
        ushort head;
        ushort tail;
        ulong lock_flags;
         */
        total = min(total, qleft);
 
-       while (total > 0) { 
+       while (total > 0) {
 
                /*
                 * Grab the linestatus register, we need to check
                return (-ENXIO);
        }
 
-       ch = un->un_ch;   
+       ch = un->un_ch;
        if (!ch || ch->magic != DGNC_CHANNEL_MAGIC) {
                return (-ENXIO);
        }
 
         return (rc);
 }
-        
+
 
 /*
  * Flush the WRITE FIFO on the Neo.
                ch->ch_portnum,
                !!((ch->ch_mistat | ch->ch_mostat) & UART_MCR_DTR),
                !!((ch->ch_mistat | ch->ch_mostat) & UART_MCR_RTS),
-               !!((ch->ch_mistat | ch->ch_mostat) & UART_MSR_CTS), 
-               !!((ch->ch_mistat | ch->ch_mostat) & UART_MSR_DSR), 
+               !!((ch->ch_mistat | ch->ch_mostat) & UART_MSR_CTS),
+               !!((ch->ch_mistat | ch->ch_mostat) & UART_MSR_DSR),
                !!((ch->ch_mistat | ch->ch_mostat) & UART_MSR_RI),
                !!((ch->ch_mistat | ch->ch_mostat) & UART_MSR_DCD)));
 }
        writeb(0, &ch->ch_neo_uart->ier);
        writeb(0, &ch->ch_neo_uart->efr);
        writeb(UART_EFR_ECB, &ch->ch_neo_uart->efr);
-        
+
 
         /* Clear out UART and FIFO */
        readb(&ch->ch_neo_uart->txrx);
 
        /* We must cache the LSR as some of the bits get reset once read... */
        ch->ch_cached_lsr |= lsr;
- 
+
        /* Determine whether the Transmitter is empty or not */
        if (!(lsr & UART_LSR_TEMT)) {
                if (ch->ch_flags & CH_TX_FIFO_EMPTY) {
 /*
  * neo_send_immediate_char.
  *
- * Sends a specific character as soon as possible to the UART,   
+ * Sends a specific character as soon as possible to the UART,
  * jumping over any bytes that might be in the write queue.
  *
  * The channel lock MUST be held by the calling function.