Char: tty_wakeup cleanup
Subsystems (5)
PATCH 1/1 Char: tty_wakeup cleanup
tty_wakeup cleanup
- remove wake_up_interruptible(&tty->write_wait) surrounding tty_wakup(tty);
- substitute tty->ldisc.write_wakeup(tty) + wake_up() by tty_wakeup(tty);
---
commit 2acac8f970a75a3dc8466781845ae5d14c3d8988
tree 396cc84d4e198d2a65cd4aa9748aabeab5681ba5
parent 8b380d8b1c3ff7d09d68d467d2f135774cab4086
author Jiri Slaby <[email protected]> Sat, 16 Dec 2006 22:22:57 +0059 committer Jiri Slaby <[email protected]> Sat, 16 Dec 2006 22:22:57 +0059
drivers/char/amiserial.c | 5 +---- drivers/char/cyclades.c | 1 - drivers/char/epca.c | 3 --- drivers/char/generic_serial.c | 1 - drivers/char/ip2/i2lib.c | 10 +--------- drivers/char/isicom.c | 1 - drivers/char/istallion.c | 1 - drivers/char/mxser.c | 4 +--- drivers/char/pcmcia/synclink_cs.c | 4 +--- drivers/char/rio/riointr.c | 9 ++------- drivers/char/riscom8.c | 5 +---- drivers/char/rocket.c | 3 --- drivers/char/specialix.c | 4 +--- drivers/char/synclink.c | 5 +---- drivers/char/synclink_gt.c | 5 +---- drivers/char/synclinkmp.c | 5 +---- drivers/isdn/gigaset/interface.c | 14 ++------------ drivers/isdn/i4l/isdn_tty.c | 1 - drivers/serial/crisv10.c | 14 +++----------- drivers/tc/zs.c | 4 +--- drivers/usb/serial/digi_acceleport.c | 10 +--------- drivers/usb/serial/keyspan_pda.c | 7 +------ drivers/usb/serial/mos7720.c | 14 ++------------ drivers/usb/serial/mos7840.c | 14 ++------------ drivers/usb/serial/serqt_usb.c | 18 ++---------------- 25 files changed, 25 insertions(+), 137 deletions(-)
drivers/char/amiserial.c +1 -4
@@ -527,10 +527,8 @@ static void do_softint(unsigned long private_)if (!tty)return ; -if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &info->event)) { +if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &info->event))tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - } }/*
@@ -968,7 +966,6 @@ static void rs_flush_buffer(struct tty_struct *tty)local_irq_save (flags); info->xmit.head = info->xmit.tail =0 ;local_irq_restore (flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
drivers/char/cyclades.c +0 -1
@@ -4488,7 +4488,6 @@ static void cy_flush_buffer(struct tty_struct *tty)CY_UNLOCK (info, flags); }tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); }/* cy_flush_buffer */ /*
drivers/char/epca.c +0 -3
@@ -844,7 +844,6 @@ static void pc_flush_buffer(struct tty_struct *tty)fepcmd (ch,STOUT , (unsigned ) tail,0 ,0 ,0 );memoff (ch);spin_unlock_irqrestore (&epca_lock, flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }/* End pc_flush_buffer */
@@ -1795,7 +1794,6 @@ static void doevent(int crd) {/* Begin if LOWWAIT */ ch->statusflags &= ~LOWWAIT ;tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); }/* End if LOWWAIT */ }else if (event &EMPTYTX_IND ) {/* Begin EMPTYTX_IND */ /* This event is generated by setup_empty_event */
@@ -1803,7 +1801,6 @@ static void doevent(int crd)if (ch->statusflags &EMPTYWAIT ) {/* Begin if EMPTYWAIT */ ch->statusflags &= ~EMPTYWAIT ;tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); }/* End if EMPTYWAIT */ }/* End EMPTYTX_IND */ }/* End if valid tty */
drivers/char/generic_serial.c +0 -1
@@ -382,7 +382,6 @@ void gs_flush_buffer(struct tty_struct *tty) port->xmit_cnt = port->xmit_head = port->xmit_tail =0 ;spin_unlock_irqrestore (&port->driver_lock, flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty);func_exit (); }
drivers/char/ip2/i2lib.c +1 -9
@@ -1373,15 +1373,7 @@ ip2_owake( PTTY tp)ip2trace (CHANN ,ITRC_SICMD ,10 ,2 , tp->flags, (1 <<TTY_DO_WRITE_WAKEUP ) ); -wake_up_interruptible ( &tp->write_wait ); -if ( ( tp->flags & (1 <<TTY_DO_WRITE_WAKEUP ) ) - && tp->ldisc.write_wakeup ) - { - (tp->ldisc.write_wakeup) ( tp ); - -ip2trace (CHANN ,ITRC_SICMD ,11 ,0 ); - - } +tty_wakeup (tp); } static inline void
drivers/char/isicom.c +0 -1
@@ -1478,7 +1478,6 @@ static void isicom_flush_buffer(struct tty_struct *tty) port->xmit_cnt = port->xmit_head = port->xmit_tail =0 ;spin_unlock_irqrestore (&card->card_lock, flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
drivers/char/istallion.c +0 -1
@@ -2424,7 +2424,6 @@ static int stli_hostcmd(struct stlibrd *brdp, struct stliport *portp)if (tty !=NULL ) {tty_wakeup (tty);EBRDENABLE (brdp); -wake_up_interruptible (&tty->write_wait); } }
drivers/char/mxser.c +1 -3
@@ -1253,9 +1253,7 @@ static void mxser_flush_buffer(struct tty_struct *tty)spin_unlock_irqrestore (&info->slock, flags);/* above added by shinhay */ -wake_up_interruptible (&tty->write_wait); -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); +tty_wakeup (tty); }static int mxser_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg)
drivers/char/pcmcia/synclink_cs.c +1 -3
@@ -887,10 +887,8 @@ static void bh_transmit(MGSLPC_INFO *info)if (debug_level >=DEBUG_LEVEL_BH )printk ("bh_transmit() entry on %s\n" , info->device_name); -if (tty) { +if (tty)tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - } }static void bh_status (MGSLPC_INFO *info)
drivers/char/rio/riointr.c +2 -7
@@ -162,13 +162,8 @@ void RIOTxEnable(char *en)rio_spin_unlock_irqrestore (&PortP->portSem, flags); -if (PortP->gs.xmit_cnt <= (PortP->gs.wakeup_chars +2 *PKT_MAX_DATA_LEN )) { -rio_dprintk (RIO_DEBUG_INTR ,"Waking up.... ldisc:%d (%d/%d)...." , (int ) (PortP->gs.tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )), PortP->gs.wakeup_chars, PortP->gs.xmit_cnt); -if ((PortP->gs.tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && PortP->gs.tty->ldisc.write_wakeup) - (PortP->gs.tty->ldisc.write_wakeup) (PortP->gs.tty); -rio_dprintk (RIO_DEBUG_INTR ,"(%d/%d)\n" , PortP->gs.wakeup_chars, PortP->gs.xmit_cnt); -wake_up_interruptible (&PortP->gs.tty->write_wait); - } +if (PortP->gs.xmit_cnt <= (PortP->gs.wakeup_chars +2 *PKT_MAX_DATA_LEN )) +tty_wakeup (PortP->gs.tty); }
drivers/char/riscom8.c +1 -4
@@ -1229,7 +1229,6 @@ static void rc_flush_buffer(struct tty_struct *tty) port->xmit_cnt = port->xmit_head = port->xmit_tail =0 ;restore_flags (flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
@@ -1570,10 +1569,8 @@ static void do_softint(struct work_struct *ugly_api)if (!(tty = port->tty))return ; -if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &port->event)) { +if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &port->event))tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - } }static const struct tty_operations riscom_ops = {
drivers/char/rocket.c +0 -3
@@ -474,7 +474,6 @@ static void rp_do_transmit(struct r_port *info)if (info->xmit_cnt <WAKEUP_CHARS ) {tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait);#ifdef ROCKETPORT_HAVE_POLL_WAIT wake_up_interruptible (&tty->poll_wait);#endif
@@ -1772,7 +1771,6 @@ static int rp_write(struct tty_struct *tty, end:if (info->xmit_cnt <WAKEUP_CHARS ) {tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait);#ifdef ROCKETPORT_HAVE_POLL_WAIT wake_up_interruptible (&tty->poll_wait);#endif
@@ -1841,7 +1839,6 @@ static void rp_flush_buffer(struct tty_struct *tty) info->xmit_cnt = info->xmit_head = info->xmit_tail =0 ;spin_unlock_irqrestore (&info->slock, flags); -wake_up_interruptible (&tty->write_wait);#ifdef ROCKETPORT_HAVE_POLL_WAIT wake_up_interruptible (&tty->poll_wait);#endif
drivers/char/specialix.c +1 -3
@@ -2350,10 +2350,8 @@ static void do_softint(struct work_struct *work)return ; } -if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &port->event)) { +if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &port->event))tty_wakeup (tty); -//wake_up_interruptible(&tty->write_wait); - }func_exit (); }
drivers/char/synclink.c +1 -4
@@ -1148,10 +1148,8 @@ static void mgsl_bh_transmit(struct mgsl_struct *info)printk ("%s(%d):mgsl_bh_transmit() entry on %s\n" , __FILE__,__LINE__,info->device_name); -if (tty) { +if (tty)tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - }/* if transmitter idle and loopmode_send_done_requested * then start echoing RxD to TxD
@@ -2340,7 +2338,6 @@ static void mgsl_flush_buffer(struct tty_struct *tty)del_timer (&info->tx_timer);spin_unlock_irqrestore (&info->irq_spinlock,flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
drivers/char/synclink_gt.c +1 -4
@@ -1045,7 +1045,6 @@ static void flush_buffer(struct tty_struct *tty) info->tx_count =0 ;spin_unlock_irqrestore (&info->lock,flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
@@ -1933,10 +1932,8 @@ static void bh_transmit(struct slgt_info *info)struct tty_struct *tty = info->tty;DBGBH (("%s bh_transmit\n" , info->device_name)); -if (tty) { +if (tty)tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - } }static void dsr_change (struct slgt_info *info)
drivers/char/synclinkmp.c +1 -4
@@ -1258,7 +1258,6 @@ static void flush_buffer(struct tty_struct *tty)del_timer (&info->tx_timer);spin_unlock_irqrestore (&info->lock,flags); -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
@@ -2127,10 +2126,8 @@ void bh_transmit(SLMP_INFO *info)printk ("%s(%d):%s bh_transmit() entry\n" , __FILE__,__LINE__,info->device_name); -if (tty) { +if (tty)tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - } }void bh_status (SLMP_INFO *info)
drivers/isdn/gigaset/interface.c +2 -12
@@ -599,19 +599,9 @@ out:static void if_wake (unsigned long data) {struct cardstate *cs = (struct cardstate *) data; -struct tty_struct *tty; - - tty = cs->tty; -if (!tty) -return ; - -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && - tty->ldisc.write_wakeup) { -gig_dbg (DEBUG_IF ,"write wakeup call" ); - tty->ldisc.write_wakeup (tty); - } -wake_up_interruptible (&tty->write_wait); +if (cs->tty) +tty_wakeup (cs->tty); }/*** interface to common ***/
drivers/isdn/i4l/isdn_tty.c +0 -1
@@ -1261,7 +1261,6 @@ isdn_tty_flush_buffer(struct tty_struct *tty) }isdn_tty_cleanup_xmit (info); info->xmit_count =0 ; -wake_up_interruptible (&tty->write_wait);tty_wakeup (tty); }
drivers/serial/crisv10.c +3 -11
@@ -3173,12 +3173,8 @@ do_softint(void *private_)if (!tty)return ; -if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &info->event)) { -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); -wake_up_interruptible (&tty->write_wait); - } +if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &info->event)) +tty_wakeup (tty); } static int
@@ -3798,11 +3794,7 @@ rs_flush_buffer(struct tty_struct *tty) info->xmit.head = info->xmit.tail =0 ;restore_flags (flags); -wake_up_interruptible (&tty->write_wait); - -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); +tty_wakeup (tty); }/*
drivers/tc/zs.c +1 -3
@@ -626,10 +626,8 @@ static void do_softint(unsigned long private_)if (!tty)return ; -if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &info->event)) { +if (test_and_clear_bit (RS_EVENT_WRITE_WAKEUP , &info->event))tty_wakeup (tty); -wake_up_interruptible (&tty->write_wait); - } }static int zs_startup (struct dec_serial * info)
drivers/usb/serial/digi_acceleport.c +1 -9
@@ -614,15 +614,7 @@ static void digi_wakeup_write_lock(struct work_struct *work)static void digi_wakeup_write (struct usb_serial_port *port ) { - -struct tty_struct *tty = port->tty; - - -/* wake up port processes */ -wake_up_interruptible ( &port->write_wait ); - -/* wake up line discipline */ -tty_wakeup (tty); +tty_wakeup (port->tty); }
drivers/usb/serial/keyspan_pda.c +1 -6
@@ -182,13 +182,8 @@ static void keyspan_pda_wakeup_write(struct work_struct *work)struct keyspan_pda_private *priv = container_of(work, struct keyspan_pda_private, wakeup_work);struct usb_serial_port *port = priv->port; -struct tty_struct *tty = port->tty; -/* wake up port processes */ -wake_up_interruptible ( &port->write_wait ); - -/* wake up line discipline */ -tty_wakeup (tty); +tty_wakeup (port->tty); }static void keyspan_pda_request_unthrottle (struct work_struct *work)
drivers/usb/serial/mos7720.c +2 -12
@@ -269,18 +269,8 @@ static void mos7720_bulk_out_data_callback(struct urb *urb) tty = mos7720_port->port->tty; -if (tty && mos7720_port->open) { -/* let the tty driver wakeup if it has a special * -* write_wakeup function */ -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - -/* tell the tty driver that something has changed */ -wake_up_interruptible (&tty->write_wait); - } - -/* schedule_work(&mos7720_port->port->work); */ +if (tty && mos7720_port->open) +tty_wakeup (tty); }/*
drivers/usb/serial/mos7840.c +2 -12
@@ -755,18 +755,8 @@ static void mos7840_bulk_out_data_callback(struct urb *urb) tty = mos7840_port->port->tty; -if (tty && mos7840_port->open) { -/* let the tty driver wakeup if it has a special * -* write_wakeup function */ - -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) - && tty->ldisc.write_wakeup) { - (tty->ldisc.write_wakeup) (tty); - } - -/* tell the tty driver that something has changed */ -wake_up_interruptible (&tty->write_wait); - } +if (tty && mos7840_port->open) +tty_wakeup (tty); }
drivers/usb/serial/serqt_usb.c +2 -16
@@ -1542,28 +1542,14 @@ static void port_softint(struct work_struct *work)struct usb_serial_port *port = container_of(work, struct usb_serial_port, work);struct usb_serial *serial =get_usb_serial (port, __FUNCTION__); -struct tty_struct *tty; -mydbg ("%s - port %d\n" , __FUNCTION__, port->number); - -if (!serial)return ; - - tty = port->tty; -if (!tty) -return ; - -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && tty->ldisc.write_wakeup) - { -mydbg ("%s - write wakeup call.\n" , __FUNCTION__); - (tty->ldisc.write_wakeup)(tty); - } - -wake_up_interruptible (&tty->write_wait); +if (port->tty) +tty_wakeup (port->tty); }static int serial_write_room (struct tty_struct *tty) {
Quoted 7 lines · Jiri Slaby
tty_wakeupcleanup- remove
wake_up_interruptible(&tty->write_wait)surroundingtty_wakup(tty);
- substitutetty->ldisc.write_wakeup(tty)+wake_up()bytty_wakeup(tty);Signed-off-by Jiri Slaby <[email protected]>
(for drivers/isdn/gigaset/interface.c)
Quoted 6 lines
---
commit2acac8f970a75a3dc8466781845ae5d14c3d8988
tree396cc84d4e198d2a65cd4aa9748aabeab5681ba5
parent8b380d8b1c3ff7d09d68d467d2f135774cab4086
author Jiri Slaby <[email protected]> Sat, 16 Dec 2006 22:22:57 +0059 committer Jiri Slaby <[email protected]> Sat, 16 Dec 2006 22:22:57 +0059
[...]
Quoted 26 lines
drivers/isdn/gigaset/interface.c +2
-12@@ -599,19 +599,9 @@ out:static void if_wake (unsigned long data) {struct cardstate *cs = (struct cardstate *) data; -struct tty_struct *tty; - - tty = cs->tty; -if (!tty) -return ; - -if ((tty->flags & (1 <<TTY_DO_WRITE_WAKEUP )) && - tty->ldisc.write_wakeup) { -gig_dbg (DEBUG_IF ,"write wakeup call" ); - tty->ldisc.write_wakeup (tty); - } -wake_up_interruptible (&tty->write_wait); +if (cs->tty) +tty_wakeup (cs->tty); }/*** interface to common ***/