tty/module.c
branchstable-1.5
changeset 2384 b068951506d9
parent 1975 8e173dddd183
child 2421 bc2d4bf9cbe5
equal deleted inserted replaced
2383:572948e8b2ed 2384:b068951506d9
   160         printk(KERN_ERR PFX "Failed to register tty driver.\n");
   160         printk(KERN_ERR PFX "Failed to register tty driver.\n");
   161         goto out_put;
   161         goto out_put;
   162     }
   162     }
   163 
   163 
   164     return ret;
   164     return ret;
   165         
   165 
   166 out_put:
   166 out_put:
   167     put_tty_driver(tty_driver);
   167     put_tty_driver(tty_driver);
   168 out_return:
   168 out_return:
   169     return ret;
   169     return ret;
   170 }
   170 }
   246 /*****************************************************************************/
   246 /*****************************************************************************/
   247 
   247 
   248 unsigned int ec_tty_tx_size(ec_tty_t *tty)
   248 unsigned int ec_tty_tx_size(ec_tty_t *tty)
   249 {
   249 {
   250     unsigned int ret;
   250     unsigned int ret;
   251     
   251 
   252     if (tty->tx_write_idx >= tty->tx_read_idx) {
   252     if (tty->tx_write_idx >= tty->tx_read_idx) {
   253         ret = tty->tx_write_idx - tty->tx_read_idx;
   253         ret = tty->tx_write_idx - tty->tx_read_idx;
   254     } else {
   254     } else {
   255         ret = EC_TTY_TX_BUFFER_SIZE + tty->tx_write_idx - tty->tx_read_idx;
   255         ret = EC_TTY_TX_BUFFER_SIZE + tty->tx_write_idx - tty->tx_read_idx;
   256     }
   256     }
   268 /*****************************************************************************/
   268 /*****************************************************************************/
   269 
   269 
   270 unsigned int ec_tty_rx_size(ec_tty_t *tty)
   270 unsigned int ec_tty_rx_size(ec_tty_t *tty)
   271 {
   271 {
   272     unsigned int ret;
   272     unsigned int ret;
   273     
   273 
   274     if (tty->rx_write_idx >= tty->rx_read_idx) {
   274     if (tty->rx_write_idx >= tty->rx_read_idx) {
   275         ret = tty->rx_write_idx - tty->rx_read_idx;
   275         ret = tty->rx_write_idx - tty->rx_read_idx;
   276     } else {
   276     } else {
   277         ret = EC_TTY_RX_BUFFER_SIZE + tty->rx_write_idx - tty->rx_read_idx;
   277         ret = EC_TTY_RX_BUFFER_SIZE + tty->rx_write_idx - tty->rx_read_idx;
   278     }
   278     }
   354                     (tty->rx_read_idx + 1) % EC_TTY_RX_BUFFER_SIZE;
   354                     (tty->rx_read_idx + 1) % EC_TTY_RX_BUFFER_SIZE;
   355             }
   355             }
   356             tty_flip_buffer_push(tty->tty);
   356             tty_flip_buffer_push(tty->tty);
   357         }
   357         }
   358     }
   358     }
   359     
   359 
   360     tty->timer.expires += 1;
   360     tty->timer.expires += 1;
   361     add_timer(&tty->timer);
   361     add_timer(&tty->timer);
   362 }
   362 }
   363 
   363 
   364 /******************************************************************************
   364 /******************************************************************************
   425         int count
   425         int count
   426         )
   426         )
   427 {
   427 {
   428     ec_tty_t *t = (ec_tty_t *) tty->driver_data;
   428     ec_tty_t *t = (ec_tty_t *) tty->driver_data;
   429     unsigned int data_size, i;
   429     unsigned int data_size, i;
   430     
   430 
   431 #if EC_TTY_DEBUG >= 1
   431 #if EC_TTY_DEBUG >= 1
   432     printk(KERN_INFO PFX "%s(count=%i)\n", __func__, count);
   432     printk(KERN_INFO PFX "%s(count=%i)\n", __func__, count);
   433 #endif
   433 #endif
   434 
   434 
   435     if (count <= 0) {
   435     if (count <= 0) {