Rework tty helpers to avoid need for file pointers
Subsystems (16)
cover Rework tty helpers to avoid need for file pointers
(and then use this to fix the holes in hci_ath)
The cleanup wants doing anyway but we have a reason for needing to do it.
---
Alan Cox (6):
hci_ath: Fix the mess in this driver
tty: add a helper for setting termios data from kernel side
tty: now phase out the ioctl file pointer for good
tty: remove filp from the USB tty ioctls
tiocmset: kill the file pointer argument
tiocmget: kill off the passing of the struct file
drivers/bluetooth/hci_ath.c | 26 +++++++++++++------------- drivers/char/amiserial.c | 8 ++++---- drivers/char/cyclades.c | 6 +++--- drivers/char/epca.c | 16 ++++++++-------- drivers/char/ip2/ip2main.c | 12 ++++++------ drivers/char/isicom.c | 8 ++++---- drivers/char/istallion.c | 8 ++++---- drivers/char/moxa.c | 12 ++++++------ drivers/char/mxser.c | 8 ++++---- drivers/char/nozomi.c | 8 ++++---- drivers/char/pcmcia/ipwireless/tty.c | 8 ++++---- drivers/char/pcmcia/synclink_cs.c | 10 +++++----- drivers/char/riscom8.c | 8 ++++---- drivers/char/rocket.c | 8 ++++---- drivers/char/ser_a2232.c | 6 +++--- drivers/char/serial167.c | 7 +++---- drivers/char/specialix.c | 8 ++++---- drivers/char/stallion.c | 9 ++++----- drivers/char/sx.c | 8 ++++---- drivers/char/synclink.c | 13 ++++++------- drivers/char/synclink_gt.c | 19 +++++++++---------- drivers/char/synclinkmp.c | 17 ++++++++--------- drivers/char/ttyprintk.c | 2 +- drivers/char/vme_scc.c | 4 ++-- drivers/isdn/capi/capi.c | 10 ++-------- drivers/isdn/gigaset/interface.c | 12 ++++++------ drivers/isdn/gigaset/ser-gigaset.c | 2 +- drivers/isdn/i4l/isdn_tty.c | 7 +++---- drivers/mmc/card/sdio_uart.c | 4 ++-- drivers/net/irda/irtty-sir.c | 2 +- drivers/net/usb/hso.c | 10 +++++----- drivers/net/wan/pc300_tty.c | 9 ++++----- drivers/staging/quatech_usb2/quatech_usb2.c | 6 +++--- drivers/staging/serqt_usb2/serqt_usb2.c | 13 ++++++------- drivers/tty/hvc/hvsi.c | 6 +++--- drivers/tty/n_gsm.c | 6 +++--- drivers/tty/pty.c | 4 ++-- drivers/tty/serial/68328serial.c | 2 +- drivers/tty/serial/68360serial.c | 6 +++--- drivers/tty/serial/crisv10.c | 7 +++---- drivers/tty/serial/ifx6x60.c | 5 ++--- drivers/tty/serial/serial_core.c | 16 ++++++---------- drivers/tty/tty_io.c | 17 ++++++++--------- drivers/tty/tty_ioctl.c | 14 +++++++++----- drivers/tty/vt/vt_ioctl.c | 6 +++--- drivers/usb/class/cdc-acm.c | 6 +++--- drivers/usb/serial/ark3116.c | 6 +++--- drivers/usb/serial/belkin_sa.c | 8 ++++---- drivers/usb/serial/ch341.c | 7 +++---- drivers/usb/serial/cp210x.c | 19 +++++++++---------- drivers/usb/serial/cypress_m8.c | 12 ++++++------ drivers/usb/serial/digi_acceleport.c | 14 +++++++------- drivers/usb/serial/ftdi_sio.c | 12 ++++++------ drivers/usb/serial/io_edgeport.c | 12 ++++++------ drivers/usb/serial/io_ti.c | 6 +++--- drivers/usb/serial/iuu_phoenix.c | 4 ++-- drivers/usb/serial/keyspan.c | 4 ++-- drivers/usb/serial/keyspan.h | 5 ++--- drivers/usb/serial/keyspan_pda.c | 4 ++-- drivers/usb/serial/kl5kusb105.c | 8 ++++---- drivers/usb/serial/kobil_sct.c | 12 ++++++------ drivers/usb/serial/mct_u232.c | 12 ++++++------ drivers/usb/serial/mos7720.c | 8 ++++---- drivers/usb/serial/mos7840.c | 6 +++--- drivers/usb/serial/opticon.c | 4 ++-- drivers/usb/serial/oti6858.c | 12 ++++++------ drivers/usb/serial/pl2303.c | 6 +++--- drivers/usb/serial/sierra.c | 4 ++-- drivers/usb/serial/spcp8x5.c | 6 +++--- drivers/usb/serial/ssu100.c | 6 +++--- drivers/usb/serial/ti_usb_3410_5052.c | 14 +++++++------- drivers/usb/serial/usb-serial.c | 12 ++++++------ drivers/usb/serial/usb-wwan.h | 6 +++--- drivers/usb/serial/usb_wwan.c | 6 +++--- drivers/usb/serial/whiteheat.c | 12 ++++++------ include/linux/tty.h | 3 ++- include/linux/tty_driver.h | 13 ++++++------- include/linux/usb/serial.h | 6 +++--- include/net/irda/ircomm_tty.h | 6 +++--- net/bluetooth/rfcomm/tty.c | 6 +++--- net/irda/ircomm/ircomm_tty_ioctl.c | 12 ++++++------ 81 files changed, 341 insertions(+), 361 deletions(-)
Signature · 1 line
Signature
PATCH 1/6 tiocmget: kill off the passing of the struct file
From: Alan Cox <[email protected]>
We don't actually need this and it causes problems for internal use of this functionality. Currently there is a single use of the FILE * pointer. That is the serial core which uses it to check tty_hung_up_p. However if that is true then IO_ERROR is also already set so the check may be removed.
---
drivers/char/amiserial.c | 2 +- drivers/char/cyclades.c | 2 +- drivers/char/epca.c | 4 ++-- drivers/char/ip2/ip2main.c | 4 ++-- drivers/char/isicom.c | 2 +- drivers/char/istallion.c | 2 +- drivers/char/moxa.c | 4 ++-- drivers/char/mxser.c | 2 +- drivers/char/nozomi.c | 2 +- drivers/char/pcmcia/ipwireless/tty.c | 2 +- drivers/char/pcmcia/synclink_cs.c | 4 ++-- drivers/char/riscom8.c | 2 +- drivers/char/rocket.c | 2 +- drivers/char/serial167.c | 2 +- drivers/char/specialix.c | 2 +- drivers/char/stallion.c | 2 +- drivers/char/sx.c | 2 +- drivers/char/synclink.c | 4 ++-- drivers/char/synclink_gt.c | 4 ++-- drivers/char/synclinkmp.c | 4 ++-- drivers/isdn/gigaset/interface.c | 4 ++-- drivers/isdn/i4l/isdn_tty.c | 2 +- drivers/mmc/card/sdio_uart.c | 2 +- drivers/net/usb/hso.c | 2 +- drivers/net/wan/pc300_tty.c | 4 ++-- drivers/staging/quatech_usb2/quatech_usb2.c | 2 +- drivers/staging/serqt_usb2/serqt_usb2.c | 6 +++--- drivers/tty/hvc/hvsi.c | 2 +- drivers/tty/n_gsm.c | 2 +- drivers/tty/serial/68360serial.c | 2 +- drivers/tty/serial/crisv10.c | 2 +- drivers/tty/serial/ifx6x60.c | 2 +- drivers/tty/serial/serial_core.c | 6 ++---- drivers/tty/tty_io.c | 6 +++--- drivers/usb/class/cdc-acm.c | 2 +- drivers/usb/serial/ark3116.c | 2 +- drivers/usb/serial/belkin_sa.c | 4 ++-- drivers/usb/serial/ch341.c | 2 +- drivers/usb/serial/cp210x.c | 4 ++-- drivers/usb/serial/cypress_m8.c | 4 ++-- drivers/usb/serial/digi_acceleport.c | 4 ++-- drivers/usb/serial/ftdi_sio.c | 4 ++-- drivers/usb/serial/io_edgeport.c | 4 ++-- drivers/usb/serial/io_ti.c | 2 +- drivers/usb/serial/iuu_phoenix.c | 2 +- drivers/usb/serial/keyspan.c | 2 +- drivers/usb/serial/keyspan.h | 3 +-- drivers/usb/serial/keyspan_pda.c | 2 +- drivers/usb/serial/kl5kusb105.c | 4 ++-- drivers/usb/serial/kobil_sct.c | 4 ++-- drivers/usb/serial/mct_u232.c | 4 ++-- drivers/usb/serial/mos7720.c | 4 ++-- drivers/usb/serial/mos7840.c | 2 +- drivers/usb/serial/opticon.c | 2 +- drivers/usb/serial/oti6858.c | 4 ++-- drivers/usb/serial/pl2303.c | 2 +- drivers/usb/serial/sierra.c | 2 +- drivers/usb/serial/spcp8x5.c | 2 +- drivers/usb/serial/ssu100.c | 2 +- drivers/usb/serial/ti_usb_3410_5052.c | 4 ++-- drivers/usb/serial/usb-serial.c | 4 ++-- drivers/usb/serial/usb-wwan.h | 2 +- drivers/usb/serial/usb_wwan.c | 2 +- drivers/usb/serial/whiteheat.c | 4 ++-- include/linux/tty_driver.h | 2 +- include/linux/usb/serial.h | 2 +- include/net/irda/ircomm_tty.h | 2 +- net/bluetooth/rfcomm/tty.c | 2 +- net/irda/ircomm/ircomm_tty_ioctl.c | 4 ++-- 69 files changed, 98 insertions(+), 101 deletions(-)
drivers/char/amiserial.c +1 -1
@@ -1194,7 +1194,7 @@ static int get_lsr_info(struct async_struct * info, unsigned int __user *value) } -static int rs_tiocmget (struct tty_struct *tty,struct file *file) +static int rs_tiocmget (struct tty_struct *tty) {struct async_struct * info = tty->driver_data;unsigned char control, status;
drivers/char/cyclades.c +1 -1
@@ -2429,7 +2429,7 @@ static int get_lsr_info(struct cyclades_port *info, unsigned int __user *value)return put_user (result, (unsigned long __user *)value); } -static int cy_tiocmget (struct tty_struct *tty,struct file *file) +static int cy_tiocmget (struct tty_struct *tty) {struct cyclades_port *info = tty->driver_data;struct cyclades_card *card;
drivers/char/epca.c +2 -2
@@ -1982,7 +1982,7 @@ static int info_ioctl(struct tty_struct *tty, struct file *file,return 0 ; } -static int pc_tiocmget (struct tty_struct *tty,struct file *file) +static int pc_tiocmget (struct tty_struct *tty) {struct channel *ch = tty->driver_data;struct board_chan __iomem *bc;
@@ -2074,7 +2074,7 @@ static int pc_ioctl(struct tty_struct *tty, struct file *file,return -EINVAL ;switch (cmd) {case TIOCMODG : - mflag =pc_tiocmget (tty, file); + mflag =pc_tiocmget (tty);if (put_user (mflag, (unsigned long __user *)argp))return -EFAULT ;break ;
drivers/char/ip2/ip2main.c +2 -2
@@ -181,7 +181,7 @@ static void ip2_unthrottle(PTTY);static void ip2_stop (PTTY );static void ip2_start (PTTY );static void ip2_hangup (PTTY ); -static int ip2_tiocmget (struct tty_struct *tty,struct file *file); +static int ip2_tiocmget (struct tty_struct *tty);static int ip2_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int ip2_get_icount(struct tty_struct *tty,
@@ -2038,7 +2038,7 @@ ip2_stop ( PTTY tty )/* Device Ioctl Section */ /******************************************************************************/ -static int ip2_tiocmget (struct tty_struct *tty,struct file *file) +static int ip2_tiocmget (struct tty_struct *tty) {i2ChanStrPtr pCh = DevTable[tty->index];#ifdef ENABLE_DSSNOW
drivers/char/isicom.c +1 -1
@@ -1065,7 +1065,7 @@ static int isicom_send_break(struct tty_struct *tty, int length)return 0 ; } -static int isicom_tiocmget (struct tty_struct *tty,struct file *file) +static int isicom_tiocmget (struct tty_struct *tty) {struct isi_port *port = tty->driver_data;/* just send the port status */
drivers/char/istallion.c +1 -1
@@ -1501,7 +1501,7 @@ static int stli_setserial(struct tty_struct *tty, struct serial_struct __user *s/*****************************************************************************/ -static int stli_tiocmget (struct tty_struct *tty,struct file *file) +static int stli_tiocmget (struct tty_struct *tty) {struct stliport *portp = tty->driver_data;struct stlibrd *brdp;
drivers/char/moxa.c +2 -2
@@ -199,7 +199,7 @@ static void moxa_set_termios(struct tty_struct *, struct ktermios *);static void moxa_stop (struct tty_struct *);static void moxa_start (struct tty_struct *);static void moxa_hangup (struct tty_struct *); -static int moxa_tiocmget (struct tty_struct *tty,struct file *file); +static int moxa_tiocmget (struct tty_struct *tty);static int moxa_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static void moxa_poll (unsigned long );
@@ -1257,7 +1257,7 @@ static int moxa_chars_in_buffer(struct tty_struct *tty)return chars; } -static int moxa_tiocmget (struct tty_struct *tty,struct file *file) +static int moxa_tiocmget (struct tty_struct *tty) {struct moxa_port *ch = tty->driver_data;int flag =0 , dtr, rts;
drivers/char/mxser.c +1 -1
@@ -1320,7 +1320,7 @@ static int mxser_get_lsr_info(struct mxser_port *info,return put_user (result, value); } -static int mxser_tiocmget (struct tty_struct *tty,struct file *file) +static int mxser_tiocmget (struct tty_struct *tty) {struct mxser_port *info = tty->driver_data;unsigned char control, status;
drivers/char/nozomi.c +1 -1
@@ -1750,7 +1750,7 @@ static int ntty_write_room(struct tty_struct *tty) }/* Gets io control parameters */ -static int ntty_tiocmget (struct tty_struct *tty,struct file *file) +static int ntty_tiocmget (struct tty_struct *tty) {const struct port *port = tty->driver_data;const struct ctrl_dl *ctrl_dl = &port->ctrl_dl;
drivers/char/pcmcia/ipwireless/tty.c +1 -1
@@ -395,7 +395,7 @@ static int set_control_lines(struct ipw_tty *tty, unsigned int set,return 0 ; } -static int ipw_tiocmget (struct tty_struct *linux_tty,struct file *file) +static int ipw_tiocmget (struct tty_struct *linux_tty) {struct ipw_tty *tty = linux_tty->driver_data;/* FIXME: Exactly how is the tty object locked here .. */
drivers/char/pcmcia/synclink_cs.c +2 -2
@@ -418,7 +418,7 @@ static void bh_status(MGSLPC_INFO *info);/* * ioctl handlers */ -static int tiocmget (struct tty_struct *tty,struct file *file); +static int tiocmget (struct tty_struct *tty);static int tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static int get_stats (MGSLPC_INFO *info,struct mgsl_icount __user *user_icount);
@@ -2114,7 +2114,7 @@ static int modem_input_wait(MGSLPC_INFO *info,int arg)/* return the state of the serial control and status signals */ -static int tiocmget (struct tty_struct *tty,struct file *file) +static int tiocmget (struct tty_struct *tty) {MGSLPC_INFO *info = (MGSLPC_INFO *)tty->driver_data;unsigned int result;
drivers/char/riscom8.c +1 -1
@@ -1086,7 +1086,7 @@ static int rc_chars_in_buffer(struct tty_struct *tty)return port->xmit_cnt; } -static int rc_tiocmget (struct tty_struct *tty,struct file *file) +static int rc_tiocmget (struct tty_struct *tty) {struct riscom_port *port = tty->driver_data;struct riscom_board *bp;
drivers/char/rocket.c +1 -1
@@ -1169,7 +1169,7 @@ static int sGetChanRI(CHANNEL_T * ChP)* Returns the state of the serial modem control lines. These next 2 functions * are the way kernel versions > 2.5 handle modem control lines rather than IOCTLs. */ -static int rp_tiocmget (struct tty_struct *tty,struct file *file) +static int rp_tiocmget (struct tty_struct *tty) {struct r_port *info = tty->driver_data;unsigned int control, result, ChanStatus;
drivers/char/serial167.c +1 -1
@@ -1308,7 +1308,7 @@ check_and_exit:return startup (info); }/* set_serial_info */ -static int cy_tiocmget (struct tty_struct *tty,struct file *file) +static int cy_tiocmget (struct tty_struct *tty) {struct cyclades_port *info = tty->driver_data;int channel;
drivers/char/specialix.c +1 -1
@@ -1737,7 +1737,7 @@ static int sx_chars_in_buffer(struct tty_struct *tty)return port->xmit_cnt; } -static int sx_tiocmget (struct tty_struct *tty,struct file *file) +static int sx_tiocmget (struct tty_struct *tty) {struct specialix_port *port = tty->driver_data;struct specialix_board *bp;
drivers/char/stallion.c +1 -1
@@ -1094,7 +1094,7 @@ static int stl_setserial(struct tty_struct *tty, struct serial_struct __user *sp/*****************************************************************************/ -static int stl_tiocmget (struct tty_struct *tty,struct file *file) +static int stl_tiocmget (struct tty_struct *tty) {struct stlport *portp;
drivers/char/sx.c +1 -1
@@ -1873,7 +1873,7 @@ static int sx_break(struct tty_struct *tty, int flag)return 0 ; } -static int sx_tiocmget (struct tty_struct *tty,struct file *file) +static int sx_tiocmget (struct tty_struct *tty) {struct sx_port *port = tty->driver_data;return sx_getsignals (port);
drivers/char/synclink.c +2 -2
@@ -823,7 +823,7 @@ static isr_dispatch_func UscIsrTable[7] =/* * ioctl call handlers */ -static int tiocmget (struct tty_struct *tty,struct file *file); +static int tiocmget (struct tty_struct *tty);static int tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int mgsl_get_stats(struct mgsl_struct * info, struct mgsl_icount
@@ -2846,7 +2846,7 @@ static int modem_input_wait(struct mgsl_struct *info,int arg)/* return the state of the serial control and status signals */ -static int tiocmget (struct tty_struct *tty,struct file *file) +static int tiocmget (struct tty_struct *tty) {struct mgsl_struct *info = tty->driver_data;unsigned int result;
drivers/char/synclink_gt.c +2 -2
@@ -512,7 +512,7 @@ static int tx_abort(struct slgt_info *info);static int rx_enable (struct slgt_info *info,int enable);static int modem_input_wait (struct slgt_info *info,int arg);static int wait_mgsl_event (struct slgt_info *info,int __user *mask_ptr); -static int tiocmget (struct tty_struct *tty,struct file *file); +static int tiocmget (struct tty_struct *tty);static int tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static int set_break (struct tty_struct *tty,int break_state);
@@ -3195,7 +3195,7 @@ static int modem_input_wait(struct slgt_info *info,int arg)/* * return state of serial control and status signals */ -static int tiocmget (struct tty_struct *tty,struct file *file) +static int tiocmget (struct tty_struct *tty) {struct slgt_info *info = tty->driver_data;unsigned int result;
drivers/char/synclinkmp.c +2 -2
@@ -546,7 +546,7 @@ static int tx_abort(SLMP_INFO *info);static int rx_enable (SLMP_INFO *info,int enable);static int modem_input_wait (SLMP_INFO *info,int arg);static int wait_mgsl_event (SLMP_INFO *info,int __user *mask_ptr); -static int tiocmget (struct tty_struct *tty,struct file *file); +static int tiocmget (struct tty_struct *tty);static int tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static int set_break (struct tty_struct *tty,int break_state);
@@ -3207,7 +3207,7 @@ static int modem_input_wait(SLMP_INFO *info,int arg)/* return the state of the serial control and status signals */ -static int tiocmget (struct tty_struct *tty,struct file *file) +static int tiocmget (struct tty_struct *tty) {SLMP_INFO *info = tty->driver_data;unsigned int result;
drivers/isdn/gigaset/interface.c +2 -2
@@ -122,7 +122,7 @@ static int if_chars_in_buffer(struct tty_struct *tty);static void if_throttle (struct tty_struct *tty);static void if_unthrottle (struct tty_struct *tty);static void if_set_termios (struct tty_struct *tty,struct ktermios *old); -static int if_tiocmget (struct tty_struct *tty,struct file *file); +static int if_tiocmget (struct tty_struct *tty);static int if_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int if_write(struct tty_struct *tty,
@@ -280,7 +280,7 @@ static int if_ioctl(struct tty_struct *tty, struct file *file,return retval; } -static int if_tiocmget (struct tty_struct *tty,struct file *file) +static int if_tiocmget (struct tty_struct *tty) {struct cardstate *cs;int retval;
drivers/isdn/i4l/isdn_tty.c +1 -1
@@ -1345,7 +1345,7 @@ isdn_tty_get_lsr_info(modem_info * info, uint __user * value)static int -isdn_tty_tiocmget (struct tty_struct *tty,struct file *file) +isdn_tty_tiocmget (struct tty_struct *tty) {modem_info *info = (modem_info *) tty->driver_data;u_char control, status;
drivers/mmc/card/sdio_uart.c +1 -1
@@ -956,7 +956,7 @@ static int sdio_uart_break_ctl(struct tty_struct *tty, int break_state)return 0 ; } -static int sdio_uart_tiocmget (struct tty_struct *tty,struct file *file) +static int sdio_uart_tiocmget (struct tty_struct *tty) {struct sdio_uart_port *port = tty->driver_data;int result;
drivers/net/usb/hso.c +1 -1
@@ -1656,7 +1656,7 @@ static int hso_get_count(struct tty_struct *tty, } -static int hso_serial_tiocmget (struct tty_struct *tty,struct file *file) +static int hso_serial_tiocmget (struct tty_struct *tty) {int retval;struct hso_serial *serial =get_serial_by_tty (tty);
drivers/net/wan/pc300_tty.c +2 -2
@@ -133,7 +133,7 @@ static void cpc_tty_signal_on(pc300dev_t *pc300dev, unsigned char);static int pc300_tiocmset (struct tty_struct *,struct file *,unsigned int ,unsigned int ); -static int pc300_tiocmget (struct tty_struct *,struct file *); +static int pc300_tiocmget (struct tty_struct *);/* functions called by PC300 driver */ void cpc_tty_init (pc300dev_t *dev);
@@ -570,7 +570,7 @@ static int pc300_tiocmset(struct tty_struct *tty, struct file *file,return 0 ; } -static int pc300_tiocmget (struct tty_struct *tty,struct file *file) +static int pc300_tiocmget (struct tty_struct *tty) {unsigned int result;unsigned char status;
drivers/staging/quatech_usb2/quatech_usb2.c +1 -1
@@ -1078,7 +1078,7 @@ static void qt2_set_termios(struct tty_struct *tty, } } -static int qt2_tiocmget (struct tty_struct *tty,struct file *file) +static int qt2_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct usb_serial *serial = port->serial;
drivers/staging/serqt_usb2/serqt_usb2.c +3 -3
@@ -1383,7 +1383,7 @@ static void qt_break(struct tty_struct *tty, int break_state)static inline int qt_real_tiocmget (struct tty_struct *tty,struct usb_serial_port *port, -struct file *file,struct usb_serial *serial) +struct usb_serial *serial) {u8 mcr;
@@ -1462,7 +1462,7 @@ static inline int qt_real_tiocmset(struct tty_struct *tty,return 0 ; } -static int qt_tiocmget (struct tty_struct *tty,struct file *file) +static int qt_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct usb_serial *serial =get_usb_serial (port, __func__);
@@ -1480,7 +1480,7 @@ static int qt_tiocmget(struct tty_struct *tty, struct file *file)dbg ("%s - port %d\n" , __func__, port->number);dbg ("%s - port->RxHolding = %d\n" , __func__, qt_port->RxHolding); - retval =qt_real_tiocmget (tty, port, file, serial); + retval =qt_real_tiocmget (tty, port, serial);spin_unlock_irqrestore (&qt_port->lock, flags);return retval;
drivers/tty/hvc/hvsi.c +1 -1
@@ -1095,7 +1095,7 @@ static void hvsi_unthrottle(struct tty_struct *tty)h_vio_signal (hp->vtermno,VIO_IRQ_ENABLE ); } -static int hvsi_tiocmget (struct tty_struct *tty,struct file *file) +static int hvsi_tiocmget (struct tty_struct *tty) {struct hvsi_struct *hp = tty->driver_data;
drivers/tty/n_gsm.c +1 -1
@@ -2649,7 +2649,7 @@ static void gsmtty_wait_until_sent(struct tty_struct *tty, int timeout)to do here */ } -static int gsmtty_tiocmget (struct tty_struct *tty,struct file *filp) +static int gsmtty_tiocmget (struct tty_struct *tty) {struct gsm_dlci *dlci = tty->driver_data;return dlci->modem_rx;
drivers/tty/serial/68360serial.c +1 -1
@@ -1240,7 +1240,7 @@ static int get_lsr_info(struct async_struct * info, unsigned int *value) }#endif -static int rs_360_tiocmget (struct tty_struct *tty,struct file *file) +static int rs_360_tiocmget (struct tty_struct *tty) {ser_info_t *info = (ser_info_t *)tty->driver_data;unsigned int result =0 ;
drivers/tty/serial/crisv10.c +1 -1
@@ -3614,7 +3614,7 @@ rs_tiocmset(struct tty_struct *tty, struct file *file, }static int -rs_tiocmget (struct tty_struct *tty,struct file *file) +rs_tiocmget (struct tty_struct *tty) {struct e100_serial *info = (struct e100_serial *)tty->driver_data;unsigned int result;
drivers/tty/serial/ifx6x60.c +1 -1
@@ -244,7 +244,7 @@ static void ifx_spi_timeout(unsigned long arg)* Map the signal state into Linux modem flags and report the value * in Linux terms */ -static int ifx_spi_tiocmget (struct tty_struct *tty,struct file *filp) +static int ifx_spi_tiocmget (struct tty_struct *tty) {unsigned int value;struct ifx_spi_device *ifx_dev = tty->driver_data;
drivers/tty/serial/serial_core.c +2 -4
@@ -905,7 +905,7 @@ static int uart_get_lsr_info(struct tty_struct *tty,return put_user (result, value); } -static int uart_tiocmget (struct tty_struct *tty,struct file *file) +static int uart_tiocmget (struct tty_struct *tty) {struct uart_state *state = tty->driver_data;struct tty_port *port = &state->port;
@@ -913,10 +913,8 @@ static int uart_tiocmget(struct tty_struct *tty, struct file *file)int result = -EIO ;mutex_lock (&port->mutex); -if ((!file || !tty_hung_up_p (file)) && - !(tty->flags & (1 <<TTY_IO_ERROR ))) { +if (!(tty->flags & (1 <<TTY_IO_ERROR ))) { result = uport->mctrl; -spin_lock_irq (&uport->lock); result |= uport->ops->get_mctrl (uport);spin_unlock_irq (&uport->lock);
drivers/tty/tty_io.c +3 -3
@@ -2465,12 +2465,12 @@ out:* Locking: none (up to the driver) */ -static int tty_tiocmget (struct tty_struct *tty,struct file *file,int __user *p) +static int tty_tiocmget (struct tty_struct *tty,int __user *p) {int retval = -EINVAL ;if (tty->ops->tiocmget) { - retval = tty->ops->tiocmget (tty, file); + retval = tty->ops->tiocmget (tty);if (retval >=0 ) retval =put_user (retval, p);
@@ -2655,7 +2655,7 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)return send_break (tty, arg ? arg*100 :250 );case TIOCMGET : -return tty_tiocmget (tty, file, p); +return tty_tiocmget (tty, p);case TIOCMSET :case TIOCMBIC :case TIOCMBIS :
drivers/usb/class/cdc-acm.c +1 -1
@@ -776,7 +776,7 @@ static int acm_tty_break_ctl(struct tty_struct *tty, int state)return retval; } -static int acm_tty_tiocmget (struct tty_struct *tty,struct file *file) +static int acm_tty_tiocmget (struct tty_struct *tty) {struct acm *acm = tty->driver_data;
drivers/usb/serial/ark3116.c +1 -1
@@ -485,7 +485,7 @@ static int ark3116_ioctl(struct tty_struct *tty, struct file *file,return -ENOIOCTLCMD ; } -static int ark3116_tiocmget (struct tty_struct *tty,struct file *file) +static int ark3116_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct ark3116_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/belkin_sa.c +2 -2
@@ -100,7 +100,7 @@ static void belkin_sa_process_read_urb(struct urb *urb);static void belkin_sa_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios * old);static void belkin_sa_break_ctl (struct tty_struct *tty,int break_state); -static int belkin_sa_tiocmget (struct tty_struct *tty,struct file *file); +static int belkin_sa_tiocmget (struct tty_struct *tty);static int belkin_sa_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);
@@ -497,7 +497,7 @@ static void belkin_sa_break_ctl(struct tty_struct *tty, int break_state)dev_err (&port->dev,"Set break_ctl %d\n" , break_state); } -static int belkin_sa_tiocmget (struct tty_struct *tty,struct file *file) +static int belkin_sa_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct belkin_sa_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/ch341.c +1 -1
@@ -572,7 +572,7 @@ static int ch341_ioctl(struct tty_struct *tty, struct file *file,return -ENOIOCTLCMD ; } -static int ch341_tiocmget (struct tty_struct *tty,struct file *file) +static int ch341_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct ch341_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/cp210x.c +2 -2
@@ -41,7 +41,7 @@ static void cp210x_get_termios_port(struct usb_serial_port *port, unsigned int *cflagp, unsigned int *baudp);static void cp210x_set_termios (struct tty_struct *,struct usb_serial_port *,struct ktermios *); -static int cp210x_tiocmget (struct tty_struct *,struct file *); +static int cp210x_tiocmget (struct tty_struct *);static int cp210x_tiocmset (struct tty_struct *,struct file *,unsigned int ,unsigned int ); static int cp210x_tiocmset_port(struct usb_serial_port *port, struct file *,
@@ -742,7 +742,7 @@ static void cp210x_dtr_rts(struct usb_serial_port *p, int on)cp210x_tiocmset_port (p,NULL ,0 ,TIOCM_DTR |TIOCM_RTS ); } -static int cp210x_tiocmget (struct tty_struct *tty,struct file *file) +static int cp210x_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;unsigned int control;
drivers/usb/serial/cypress_m8.c +2 -2
@@ -173,7 +173,7 @@ static int cypress_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);static void cypress_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old); -static int cypress_tiocmget (struct tty_struct *tty,struct file *file); +static int cypress_tiocmget (struct tty_struct *tty);static int cypress_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static int cypress_chars_in_buffer (struct tty_struct *tty);
@@ -864,7 +864,7 @@ static int cypress_write_room(struct tty_struct *tty) } -static int cypress_tiocmget (struct tty_struct *tty,struct file *file) +static int cypress_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct cypress_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/digi_acceleport.c +2 -2
@@ -445,7 +445,7 @@ static void digi_rx_unthrottle(struct tty_struct *tty);static void digi_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old_termios);static void digi_break_ctl (struct tty_struct *tty,int break_state); -static int digi_tiocmget (struct tty_struct *tty,struct file *file); +static int digi_tiocmget (struct tty_struct *tty);static int digi_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int digi_write(struct tty_struct *tty, struct usb_serial_port *port,
@@ -1118,7 +1118,7 @@ static void digi_break_ctl(struct tty_struct *tty, int break_state) } -static int digi_tiocmget (struct tty_struct *tty,struct file *file) +static int digi_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct digi_port *priv =usb_get_serial_port_data (port);
drivers/usb/serial/ftdi_sio.c +2 -2
@@ -864,7 +864,7 @@ static int ftdi_prepare_write_buffer(struct usb_serial_port *port, void *dest, size_t size);static void ftdi_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old); -static int ftdi_tiocmget (struct tty_struct *tty,struct file *file); +static int ftdi_tiocmget (struct tty_struct *tty);static int ftdi_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int ftdi_ioctl(struct tty_struct *tty, struct file *file,
@@ -2176,7 +2176,7 @@ static void ftdi_set_termios(struct tty_struct *tty, } } -static int ftdi_tiocmget (struct tty_struct *tty,struct file *file) +static int ftdi_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct ftdi_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/io_edgeport.c +2 -2
@@ -219,7 +219,7 @@ static void edge_set_termios(struct tty_struct *tty,static int edge_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg);static void edge_break (struct tty_struct *tty,int break_state); -static int edge_tiocmget (struct tty_struct *tty,struct file *file); +static int edge_tiocmget (struct tty_struct *tty);static int edge_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int edge_get_icount(struct tty_struct *tty,
@@ -1599,7 +1599,7 @@ static int edge_tiocmset(struct tty_struct *tty, struct file *file,return 0 ; } -static int edge_tiocmget (struct tty_struct *tty,struct file *file) +static int edge_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct edgeport_port *edge_port =usb_get_serial_port_data (port);
drivers/usb/serial/io_ti.c +1 -1
@@ -2477,7 +2477,7 @@ static int edge_tiocmset(struct tty_struct *tty, struct file *file,return 0 ; } -static int edge_tiocmget (struct tty_struct *tty,struct file *file) +static int edge_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct edgeport_port *edge_port =usb_get_serial_port_data (port);
drivers/usb/serial/iuu_phoenix.c +1 -1
@@ -179,7 +179,7 @@ static int iuu_tiocmset(struct tty_struct *tty, struct file *file,* When no card , the reader respond with TIOCM_CD * This is known as CD autodetect mechanism */ -static int iuu_tiocmget (struct tty_struct *tty,struct file *file) +static int iuu_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct iuu_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/keyspan.c +1 -1
@@ -301,7 +301,7 @@ static void keyspan_set_termios(struct tty_struct *tty,keyspan_send_setup (port,0 ); } -static int keyspan_tiocmget (struct tty_struct *tty,struct file *file) +static int keyspan_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct keyspan_port_private *p_priv =usb_get_serial_port_data (port);
drivers/usb/serial/keyspan.h +1 -2
@@ -58,8 +58,7 @@ static void keyspan_set_termios (struct tty_struct *tty, struct ktermios *old);static void keyspan_break_ctl (struct tty_struct *tty,int break_state); -static int keyspan_tiocmget (struct tty_struct *tty, -struct file *file); +static int keyspan_tiocmget (struct tty_struct *tty);static int keyspan_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);
drivers/usb/serial/keyspan_pda.c +1 -1
@@ -457,7 +457,7 @@ static int keyspan_pda_set_modem_info(struct usb_serial *serial,return rc; } -static int keyspan_pda_tiocmget (struct tty_struct *tty,struct file *file) +static int keyspan_pda_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct usb_serial *serial = port->serial;
drivers/usb/serial/kl5kusb105.c +2 -2
@@ -68,7 +68,7 @@ static int klsi_105_open(struct tty_struct *tty, struct usb_serial_port *port);static void klsi_105_close (struct usb_serial_port *port);static void klsi_105_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old); -static int klsi_105_tiocmget (struct tty_struct *tty,struct file *file); +static int klsi_105_tiocmget (struct tty_struct *tty);static int klsi_105_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static void klsi_105_process_read_urb (struct urb *urb);
@@ -637,7 +637,7 @@ static void mct_u232_break_ctl(struct tty_struct *tty, int break_state) }#endif -static int klsi_105_tiocmget (struct tty_struct *tty,struct file *file) +static int klsi_105_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct klsi_105_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/kobil_sct.c +2 -2
@@ -77,7 +77,7 @@ static int kobil_write(struct tty_struct *tty, struct usb_serial_port *port,static int kobil_write_room (struct tty_struct *tty);static int kobil_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg); -static int kobil_tiocmget (struct tty_struct *tty,struct file *file); +static int kobil_tiocmget (struct tty_struct *tty);static int kobil_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static void kobil_read_int_callback (struct urb *urb);
@@ -504,7 +504,7 @@ static int kobil_write_room(struct tty_struct *tty) } -static int kobil_tiocmget (struct tty_struct *tty,struct file *file) +static int kobil_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct kobil_private *priv;
drivers/usb/serial/mct_u232.c +2 -2
@@ -103,7 +103,7 @@ static void mct_u232_read_int_callback(struct urb *urb);static void mct_u232_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);static void mct_u232_break_ctl (struct tty_struct *tty,int break_state); -static int mct_u232_tiocmget (struct tty_struct *tty,struct file *file); +static int mct_u232_tiocmget (struct tty_struct *tty);static int mct_u232_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); static int mct_u232_ioctl(struct tty_struct *tty, struct file *file,
@@ -790,7 +790,7 @@ static void mct_u232_break_ctl(struct tty_struct *tty, int break_state) }/* mct_u232_break_ctl */ -static int mct_u232_tiocmget (struct tty_struct *tty,struct file *file) +static int mct_u232_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct mct_u232_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/mos7720.c +2 -2
@@ -1833,7 +1833,7 @@ static int get_lsr_info(struct tty_struct *tty,return 0 ; } -static int mos7720_tiocmget (struct tty_struct *tty,struct file *file) +static int mos7720_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct moschip_port *mos7720_port =usb_get_serial_port_data (port);
@@ -1865,7 +1865,7 @@ static int mos7720_tiocmset(struct tty_struct *tty, struct file *file,struct moschip_port *mos7720_port =usb_get_serial_port_data (port);unsigned int mcr ;dbg ("%s - port %d" , __func__, port->number); -dbg ("he was at tiocmget" ); +dbg ("he was at tiocmset" ); mcr = mos7720_port->shadowMCR;
drivers/usb/serial/mos7840.c +1 -1
@@ -1644,7 +1644,7 @@ static void mos7840_unthrottle(struct tty_struct *tty) } } -static int mos7840_tiocmget (struct tty_struct *tty,struct file *file) +static int mos7840_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct moschip_port *mos7840_port;
drivers/usb/serial/opticon.c +1 -1
@@ -352,7 +352,7 @@ static void opticon_unthrottle(struct tty_struct *tty) } } -static int opticon_tiocmget (struct tty_struct *tty,struct file *file) +static int opticon_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct opticon_private *priv =usb_get_serial_data (port->serial);
drivers/usb/serial/oti6858.c +2 -2
@@ -144,7 +144,7 @@ static int oti6858_write(struct tty_struct *tty, struct usb_serial_port *port, const unsigned char *buf, int count);static int oti6858_write_room (struct tty_struct *tty);static int oti6858_chars_in_buffer (struct tty_struct *tty); -static int oti6858_tiocmget (struct tty_struct *tty,struct file *file); +static int oti6858_tiocmget (struct tty_struct *tty);static int oti6858_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static int oti6858_startup (struct usb_serial *serial);
@@ -657,7 +657,7 @@ static int oti6858_tiocmset(struct tty_struct *tty, struct file *file,return 0 ; } -static int oti6858_tiocmget (struct tty_struct *tty,struct file *file) +static int oti6858_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct oti6858_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/pl2303.c +1 -1
@@ -531,7 +531,7 @@ static int pl2303_tiocmset(struct tty_struct *tty, struct file *file,return set_control_lines (port->serial->dev, control); } -static int pl2303_tiocmget (struct tty_struct *tty,struct file *file) +static int pl2303_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct pl2303_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/sierra.c +1 -1
@@ -389,7 +389,7 @@ static void sierra_set_termios(struct tty_struct *tty,sierra_send_setup (port); } -static int sierra_tiocmget (struct tty_struct *tty,struct file *file) +static int sierra_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;unsigned int value;
drivers/usb/serial/spcp8x5.c +1 -1
@@ -618,7 +618,7 @@ static int spcp8x5_tiocmset(struct tty_struct *tty, struct file *file,return spcp8x5_set_ctrlLine (port->serial->dev, control , priv->type); } -static int spcp8x5_tiocmget (struct tty_struct *tty,struct file *file) +static int spcp8x5_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct spcp8x5_private *priv =usb_get_serial_port_data (port);
drivers/usb/serial/ssu100.c +1 -1
@@ -484,7 +484,7 @@ static int ssu100_attach(struct usb_serial *serial)return ssu100_initdevice (serial->dev); } -static int ssu100_tiocmget (struct tty_struct *tty,struct file *file) +static int ssu100_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct usb_device *dev = port->serial->dev;
drivers/usb/serial/ti_usb_3410_5052.c +2 -2
@@ -112,7 +112,7 @@ static int ti_get_icount(struct tty_struct *tty, struct serial_icounter_struct *icount);static void ti_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old_termios); -static int ti_tiocmget (struct tty_struct *tty,struct file *file); +static int ti_tiocmget (struct tty_struct *tty);static int ti_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static void ti_break (struct tty_struct *tty,int break_state);
@@ -1000,7 +1000,7 @@ static void ti_set_termios(struct tty_struct *tty, } -static int ti_tiocmget (struct tty_struct *tty,struct file *file) +static int ti_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct ti_port *tport =usb_get_serial_port_data (port);
drivers/usb/serial/usb-serial.c +2 -2
@@ -496,14 +496,14 @@ static const struct file_operations serial_proc_fops = { .release = single_release, }; -static int serial_tiocmget (struct tty_struct *tty,struct file *file) +static int serial_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;dbg ("%s - port %d" , __func__, port->number);if (port->serial->type->tiocmget) -return port->serial->type->tiocmget (tty, file); +return port->serial->type->tiocmget (tty);return -EINVAL ; }
drivers/usb/serial/usb-wwan.h +1 -1
@@ -15,7 +15,7 @@ extern int usb_wwan_write_room(struct tty_struct *tty);extern void usb_wwan_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old); -extern int usb_wwan_tiocmget (struct tty_struct *tty,struct file *file); +extern int usb_wwan_tiocmget (struct tty_struct *tty);extern int usb_wwan_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); extern int usb_wwan_ioctl(struct tty_struct *tty, struct file *file,
drivers/usb/serial/usb_wwan.c +1 -1
@@ -79,7 +79,7 @@ void usb_wwan_set_termios(struct tty_struct *tty, }EXPORT_SYMBOL (usb_wwan_set_termios); -int usb_wwan_tiocmget (struct tty_struct *tty,struct file *file) +int usb_wwan_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;unsigned int value;
drivers/usb/serial/whiteheat.c +2 -2
@@ -156,7 +156,7 @@ static int whiteheat_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);static void whiteheat_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old); -static int whiteheat_tiocmget (struct tty_struct *tty,struct file *file); +static int whiteheat_tiocmget (struct tty_struct *tty);static int whiteheat_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);static void whiteheat_break_ctl (struct tty_struct *tty,int break_state);
@@ -833,7 +833,7 @@ static int whiteheat_write_room(struct tty_struct *tty)return (room); } -static int whiteheat_tiocmget (struct tty_struct *tty,struct file *file) +static int whiteheat_tiocmget (struct tty_struct *tty) {struct usb_serial_port *port = tty->driver_data;struct whiteheat_private *info =usb_get_serial_port_data (port);
include/linux/tty_driver.h +1 -1
@@ -271,7 +271,7 @@ struct tty_operations {void (*set_ldisc)(struct tty_struct *tty);void (*wait_until_sent)(struct tty_struct *tty,int timeout);void (*send_xchar)(struct tty_struct *tty,char ch); -int (*tiocmget)(struct tty_struct *tty,struct file *file); +int (*tiocmget)(struct tty_struct *tty);int (*tiocmset)(struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear);int (*resize)(struct tty_struct *tty,struct winsize *ws);
include/linux/usb/serial.h +1 -1
@@ -268,7 +268,7 @@ struct usb_serial_driver {int (*chars_in_buffer)(struct tty_struct *tty);void (*throttle)(struct tty_struct *tty);void (*unthrottle)(struct tty_struct *tty); -int (*tiocmget)(struct tty_struct *tty,struct file *file); +int (*tiocmget)(struct tty_struct *tty);int (*tiocmset)(struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); int (*get_icount)(struct tty_struct *tty,
include/net/irda/ircomm_tty.h +1 -1
@@ -120,7 +120,7 @@ struct ircomm_tty_cb {void ircomm_tty_start (struct tty_struct *tty);void ircomm_tty_check_modem_status (struct ircomm_tty_cb *self); -extern int ircomm_tty_tiocmget (struct tty_struct *tty,struct file *file); +extern int ircomm_tty_tiocmget (struct tty_struct *tty);extern int ircomm_tty_tiocmset (struct tty_struct *tty,struct file *file,unsigned int set,unsigned int clear); extern int ircomm_tty_ioctl(struct tty_struct *tty, struct file *file,
net/bluetooth/rfcomm/tty.c +1 -1
@@ -1089,7 +1089,7 @@ static void rfcomm_tty_hangup(struct tty_struct *tty) } } -static int rfcomm_tty_tiocmget (struct tty_struct *tty,struct file *filp) +static int rfcomm_tty_tiocmget (struct tty_struct *tty) {struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;
net/irda/ircomm/ircomm_tty_ioctl.c +2 -2
@@ -189,12 +189,12 @@ void ircomm_tty_set_termios(struct tty_struct *tty, }/* -* Function ircomm_tty_tiocmget (tty, file) +* Function ircomm_tty_tiocmget (tty) * * * */ -int ircomm_tty_tiocmget (struct tty_struct *tty,struct file *file) +int ircomm_tty_tiocmget (struct tty_struct *tty) {struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;unsigned int result;
PATCH 2/6 tiocmset: kill the file pointer argument
In reply to Alan CoxFrom: Alan Cox <[email protected]>
Doing tiocmget was such fun we should do tiocmset as well for the same reasons
---
drivers/char/amiserial.c | 4 ++-- drivers/char/cyclades.c | 2 +- drivers/char/epca.c | 4 ++-- drivers/char/ip2/ip2main.c | 4 ++-- drivers/char/isicom.c | 4 ++-- drivers/char/istallion.c | 2 +- drivers/char/moxa.c | 6 +++--- drivers/char/mxser.c | 4 ++-- drivers/char/nozomi.c | 4 ++-- drivers/char/pcmcia/ipwireless/tty.c | 2 +- drivers/char/pcmcia/synclink_cs.c | 6 +++--- drivers/char/riscom8.c | 4 ++-- drivers/char/rocket.c | 4 ++-- drivers/char/serial167.c | 3 +-- drivers/char/specialix.c | 4 ++-- drivers/char/stallion.c | 2 +- drivers/char/sx.c | 4 ++-- drivers/char/synclink.c | 6 +++--- drivers/char/synclink_gt.c | 6 +++--- drivers/char/synclinkmp.c | 8 ++++---- drivers/isdn/gigaset/interface.c | 4 ++-- drivers/isdn/gigaset/ser-gigaset.c | 2 +- drivers/isdn/i4l/isdn_tty.c | 2 +- drivers/mmc/card/sdio_uart.c | 2 +- drivers/net/irda/irtty-sir.c | 2 +- drivers/net/usb/hso.c | 6 +++--- drivers/net/wan/pc300_tty.c | 5 ++--- drivers/staging/quatech_usb2/quatech_usb2.c | 2 +- drivers/staging/serqt_usb2/serqt_usb2.c | 5 ++--- drivers/tty/hvc/hvsi.c | 4 ++-- drivers/tty/n_gsm.c | 2 +- drivers/tty/serial/68360serial.c | 2 +- drivers/tty/serial/crisv10.c | 3 +-- drivers/tty/serial/ifx6x60.c | 3 +-- drivers/tty/serial/serial_core.c | 6 ++---- drivers/tty/tty_io.c | 7 +++---- drivers/usb/class/cdc-acm.c | 2 +- drivers/usb/serial/ark3116.c | 2 +- drivers/usb/serial/belkin_sa.c | 4 ++-- drivers/usb/serial/ch341.c | 2 +- drivers/usb/serial/cp210x.c | 15 +++++++-------- drivers/usb/serial/cypress_m8.c | 4 ++-- drivers/usb/serial/digi_acceleport.c | 10 +++++----- drivers/usb/serial/ftdi_sio.c | 4 ++-- drivers/usb/serial/io_edgeport.c | 4 ++-- drivers/usb/serial/io_ti.c | 2 +- drivers/usb/serial/iuu_phoenix.c | 2 +- drivers/usb/serial/keyspan.c | 2 +- drivers/usb/serial/keyspan.h | 2 +- drivers/usb/serial/keyspan_pda.c | 2 +- drivers/usb/serial/kl5kusb105.c | 4 ++-- drivers/usb/serial/kobil_sct.c | 4 ++-- drivers/usb/serial/mct_u232.c | 4 ++-- drivers/usb/serial/mos7720.c | 2 +- drivers/usb/serial/mos7840.c | 2 +- drivers/usb/serial/oti6858.c | 4 ++-- drivers/usb/serial/pl2303.c | 2 +- drivers/usb/serial/sierra.c | 2 +- drivers/usb/serial/spcp8x5.c | 2 +- drivers/usb/serial/ssu100.c | 2 +- drivers/usb/serial/ti_usb_3410_5052.c | 6 +++--- drivers/usb/serial/usb-serial.c | 4 ++-- drivers/usb/serial/usb-wwan.h | 2 +- drivers/usb/serial/usb_wwan.c | 2 +- drivers/usb/serial/whiteheat.c | 4 ++-- include/linux/tty_driver.h | 2 +- include/linux/usb/serial.h | 2 +- include/net/irda/ircomm_tty.h | 2 +- net/bluetooth/rfcomm/tty.c | 2 +- net/irda/ircomm/ircomm_tty_ioctl.c | 4 ++-- 70 files changed, 123 insertions(+), 132 deletions(-)
drivers/char/amiserial.c +2 -2
@@ -1216,8 +1216,8 @@ static int rs_tiocmget(struct tty_struct *tty) | (!(status & SER_CTS) ? TIOCM_CTS : 0); } -static int rs_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int rs_tiocmset (struct tty_struct *tty,unsigned int set, +unsigned int clear) {struct async_struct * info = tty->driver_data;unsigned long flags;
drivers/char/cyclades.c +1 -1
@@ -2483,7 +2483,7 @@ end: }/* cy_tiomget */ static int -cy_tiocmset (struct tty_struct *tty,struct file *file, +cy_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct cyclades_port *info = tty->driver_data;
drivers/char/epca.c +2 -2
@@ -2015,7 +2015,7 @@ static int pc_tiocmget(struct tty_struct *tty)return mflag; } -static int pc_tiocmset (struct tty_struct *tty,struct file *file, +static int pc_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct channel *ch = tty->driver_data;
@@ -2081,7 +2081,7 @@ static int pc_ioctl(struct tty_struct *tty, struct file *file,case TIOCMODS :if (get_user (mstat, (unsigned __user *)argp))return -EFAULT ; -return pc_tiocmset (tty, file, mstat, ~mstat); +return pc_tiocmset (tty, mstat, ~mstat);case TIOCSDTR :spin_lock_irqsave (&epca_lock, flags); ch->omodem |= ch->m_dtr;
drivers/char/ip2/ip2main.c +2 -2
@@ -182,7 +182,7 @@ static void ip2_stop(PTTY);static void ip2_start (PTTY );static void ip2_hangup (PTTY );static int ip2_tiocmget (struct tty_struct *tty); -static int ip2_tiocmset (struct tty_struct *tty,struct file *file, +static int ip2_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int ip2_get_icount (struct tty_struct *tty,struct serial_icounter_struct *icount);
@@ -2085,7 +2085,7 @@ static int ip2_tiocmget(struct tty_struct *tty) | ((pCh->dataSetIn & I2_CTS) ? TIOCM_CTS : 0); } -static int ip2_tiocmset (struct tty_struct *tty,struct file *file, +static int ip2_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {i2ChanStrPtr pCh = DevTable[tty->index];
drivers/char/isicom.c +2 -2
@@ -1082,8 +1082,8 @@ static int isicom_tiocmget(struct tty_struct *tty) ((status &ISI_RI ) ?TIOCM_RI :0 ); } -static int isicom_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int isicom_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct isi_port *port = tty->driver_data;unsigned long flags;
drivers/char/istallion.c +1 -1
@@ -1524,7 +1524,7 @@ static int stli_tiocmget(struct tty_struct *tty)return stli_mktiocm (portp->asig.sigvalue); } -static int stli_tiocmset (struct tty_struct *tty,struct file *file, +static int stli_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct stliport *portp = tty->driver_data;
drivers/char/moxa.c +3 -3
@@ -200,7 +200,7 @@ static void moxa_stop(struct tty_struct *);static void moxa_start (struct tty_struct *);static void moxa_hangup (struct tty_struct *);static int moxa_tiocmget (struct tty_struct *tty); -static int moxa_tiocmset (struct tty_struct *tty,struct file *file, +static int moxa_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static void moxa_poll (unsigned long );static void moxa_set_tty_param (struct tty_struct *,struct ktermios *);
@@ -1277,8 +1277,8 @@ static int moxa_tiocmget(struct tty_struct *tty)return flag; } -static int moxa_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int moxa_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct moxa_port *ch;int port;
drivers/char/mxser.c +2 -2
@@ -1347,8 +1347,8 @@ static int mxser_tiocmget(struct tty_struct *tty) ((status &UART_MSR_CTS ) ?TIOCM_CTS :0 ); } -static int mxser_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int mxser_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct mxser_port *info = tty->driver_data;unsigned long flags;
drivers/char/nozomi.c +2 -2
@@ -1767,8 +1767,8 @@ static int ntty_tiocmget(struct tty_struct *tty) }/* Sets io controls parameters */ -static int ntty_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int ntty_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct nozomi *dc =get_dc_by_tty (tty);unsigned long flags;
drivers/char/pcmcia/ipwireless/tty.c +1 -1
@@ -410,7 +410,7 @@ static int ipw_tiocmget(struct tty_struct *linux_tty) }static int -ipw_tiocmset (struct tty_struct *linux_tty,struct file *file, +ipw_tiocmset (struct tty_struct *linux_tty,unsigned int set,unsigned int clear) {struct ipw_tty *tty = linux_tty->driver_data;
drivers/char/pcmcia/synclink_cs.c +3 -3
@@ -419,8 +419,8 @@ static void bh_status(MGSLPC_INFO *info);* ioctl handlers */ static int tiocmget (struct tty_struct *tty); -static int tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear); +static int tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear);static int get_stats (MGSLPC_INFO *info,struct mgsl_icount __user *user_icount);static int get_params (MGSLPC_INFO *info,MGSL_PARAMS __user *user_params);static int set_params (MGSLPC_INFO *info,MGSL_PARAMS __user *new_params,struct tty_struct *tty);
@@ -2139,7 +2139,7 @@ static int tiocmget(struct tty_struct *tty)/* set modem control signals (DTR/RTS) */ -static int tiocmset (struct tty_struct *tty,struct file *file, +static int tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {MGSLPC_INFO *info = (MGSLPC_INFO *)tty->driver_data;
drivers/char/riscom8.c +2 -2
@@ -1115,8 +1115,8 @@ static int rc_tiocmget(struct tty_struct *tty)return result; } -static int rc_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int rc_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct riscom_port *port = tty->driver_data;unsigned long flags;
drivers/char/rocket.c +2 -2
@@ -1189,8 +1189,8 @@ static int rp_tiocmget(struct tty_struct *tty)/* * Sets the modem control lines */ -static int rp_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int rp_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct r_port *info = tty->driver_data;
drivers/char/serial167.c +1 -2
@@ -1331,8 +1331,7 @@ static int cy_tiocmget(struct tty_struct *tty) }/* cy_tiocmget */ static int -cy_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +cy_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct cyclades_port *info = tty->driver_data;int channel;
drivers/char/specialix.c +2 -2
@@ -1778,8 +1778,8 @@ static int sx_tiocmget(struct tty_struct *tty) } -static int sx_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int sx_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct specialix_port *port = tty->driver_data;unsigned long flags;
drivers/char/stallion.c +1 -1
@@ -1107,7 +1107,7 @@ static int stl_tiocmget(struct tty_struct *tty)return stl_getsignals (portp); } -static int stl_tiocmset (struct tty_struct *tty,struct file *file, +static int stl_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct stlport *portp;
drivers/char/sx.c +2 -2
@@ -1879,8 +1879,8 @@ static int sx_tiocmget(struct tty_struct *tty)return sx_getsignals (port); } -static int sx_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int sx_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct sx_port *port = tty->driver_data;int rts =-1 , dtr =-1 ;
drivers/char/synclink.c +3 -3
@@ -824,7 +824,7 @@ static isr_dispatch_func UscIsrTable[7] =* ioctl call handlers */ static int tiocmget (struct tty_struct *tty); -static int tiocmset (struct tty_struct *tty,struct file *file, +static int tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int mgsl_get_stats (struct mgsl_struct * info,struct mgsl_icount __user *user_icount);
@@ -2871,8 +2871,8 @@ static int tiocmget(struct tty_struct *tty)/* set modem control signals (DTR/RTS) */ -static int tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct mgsl_struct *info = tty->driver_data;unsigned long flags;
drivers/char/synclink_gt.c +3 -3
@@ -513,8 +513,8 @@ static int rx_enable(struct slgt_info *info, int enable);static int modem_input_wait (struct slgt_info *info,int arg);static int wait_mgsl_event (struct slgt_info *info,int __user *mask_ptr);static int tiocmget (struct tty_struct *tty); -static int tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear); +static int tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear);static int set_break (struct tty_struct *tty,int break_state);static int get_interface (struct slgt_info *info,int __user *if_mode);static int set_interface (struct slgt_info *info,int if_mode);
@@ -3223,7 +3223,7 @@ static int tiocmget(struct tty_struct *tty)* TIOCMSET = set/clear signal values * value bit mask for command */ -static int tiocmset (struct tty_struct *tty,struct file *file, +static int tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct slgt_info *info = tty->driver_data;
drivers/char/synclinkmp.c +4 -4
@@ -547,8 +547,8 @@ static int rx_enable(SLMP_INFO *info, int enable);static int modem_input_wait (SLMP_INFO *info,int arg);static int wait_mgsl_event (SLMP_INFO *info,int __user *mask_ptr);static int tiocmget (struct tty_struct *tty); -static int tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear); +static int tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear);static int set_break (struct tty_struct *tty,int break_state);static void add_device (SLMP_INFO *info);
@@ -3232,8 +3232,8 @@ static int tiocmget(struct tty_struct *tty)/* set modem control signals (DTR/RTS) */ -static int tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {SLMP_INFO *info = tty->driver_data;unsigned long flags;
drivers/isdn/gigaset/interface.c +2 -2
@@ -123,7 +123,7 @@ static void if_throttle(struct tty_struct *tty);static void if_unthrottle (struct tty_struct *tty);static void if_set_termios (struct tty_struct *tty,struct ktermios *old);static int if_tiocmget (struct tty_struct *tty); -static int if_tiocmset (struct tty_struct *tty,struct file *file, +static int if_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int if_write (struct tty_struct *tty,const unsigned char *buf,int count);
@@ -303,7 +303,7 @@ static int if_tiocmget(struct tty_struct *tty)return retval; } -static int if_tiocmset (struct tty_struct *tty,struct file *file, +static int if_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct cardstate *cs;
drivers/isdn/gigaset/ser-gigaset.c +1 -1
@@ -440,7 +440,7 @@ static int gigaset_set_modem_ctrl(struct cardstate *cs, unsigned old_state,if (!set && !clear)return 0 ;gig_dbg (DEBUG_IF ,"tiocmset set %x clear %x" , set, clear); -return tty->ops->tiocmset (tty,NULL , set, clear); +return tty->ops->tiocmset (tty, set, clear); }static int gigaset_baud_rate (struct cardstate *cs,unsigned cflag)
drivers/isdn/i4l/isdn_tty.c +1 -1
@@ -1372,7 +1372,7 @@ isdn_tty_tiocmget(struct tty_struct *tty) }static int -isdn_tty_tiocmset (struct tty_struct *tty,struct file *file, +isdn_tty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {modem_info *info = (modem_info *) tty->driver_data;
drivers/mmc/card/sdio_uart.c +1 -1
@@ -970,7 +970,7 @@ static int sdio_uart_tiocmget(struct tty_struct *tty)return result; } -static int sdio_uart_tiocmset (struct tty_struct *tty,struct file *file, +static int sdio_uart_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct sdio_uart_port *port = tty->driver_data;
drivers/net/irda/irtty-sir.c +1 -1
@@ -167,7 +167,7 @@ static int irtty_set_dtr_rts(struct sir_dev *dev, int dtr, int rts)* let's be careful... Jean II */ IRDA_ASSERT(priv->tty->ops->tiocmset != NULL, return -1;); - priv->tty->ops->tiocmset (priv->tty,NULL , set, clear); + priv->tty->ops->tiocmset (priv->tty, set, clear);return 0 ; }
drivers/net/usb/hso.c +3 -3
@@ -324,7 +324,7 @@ struct hso_device {/* Prototypes */ /*****************************************************************************/ /* Serial driver functions */ -static int hso_serial_tiocmset (struct tty_struct *tty,struct file *file, +static int hso_serial_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static void ctrl_callback (struct urb *urb);static int put_rxbuf_data (struct urb *urb,struct hso_serial *serial);
@@ -1335,7 +1335,7 @@ static int hso_serial_open(struct tty_struct *tty, struct file *filp)/* done */ if (result) -hso_serial_tiocmset (tty,NULL ,TIOCM_RTS |TIOCM_DTR ,0 ); +hso_serial_tiocmset (tty,TIOCM_RTS |TIOCM_DTR ,0 ); err_out:mutex_unlock (&serial->parent->mutex);return result;
@@ -1687,7 +1687,7 @@ static int hso_serial_tiocmget(struct tty_struct *tty)return retval; } -static int hso_serial_tiocmset (struct tty_struct *tty,struct file *file, +static int hso_serial_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {int val =0 ;
drivers/net/wan/pc300_tty.c +2 -3
@@ -131,8 +131,7 @@ static void cpc_tty_trace(pc300dev_t *dev, char* buf, int len, char rxtx);static void cpc_tty_signal_off (pc300dev_t *pc300dev,unsigned char );static void cpc_tty_signal_on (pc300dev_t *pc300dev,unsigned char ); -static int pc300_tiocmset (struct tty_struct *,struct file *, -unsigned int ,unsigned int ); +static int pc300_tiocmset (struct tty_struct *,unsigned int ,unsigned int );static int pc300_tiocmget (struct tty_struct *);/* functions called by PC300 driver */
@@ -543,7 +542,7 @@ static int cpc_tty_chars_in_buffer(struct tty_struct *tty)return 0 ; } -static int pc300_tiocmset (struct tty_struct *tty,struct file *file, +static int pc300_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {st_cpc_tty_area *cpc_tty;
drivers/staging/quatech_usb2/quatech_usb2.c +1 -1
@@ -1121,7 +1121,7 @@ static int qt2_tiocmget(struct tty_struct *tty) } } -static int qt2_tiocmset (struct tty_struct *tty,struct file *file, +static int qt2_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/staging/serqt_usb2/serqt_usb2.c +2 -3
@@ -1425,7 +1425,6 @@ static inline int qt_real_tiocmget(struct tty_struct *tty,static inline int qt_real_tiocmset (struct tty_struct *tty,struct usb_serial_port *port, -struct file *file,struct usb_serial *serial,unsigned int value) {
@@ -1486,7 +1485,7 @@ static int qt_tiocmget(struct tty_struct *tty)return retval; } -static int qt_tiocmset (struct tty_struct *tty,struct file *file, +static int qt_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {
@@ -1506,7 +1505,7 @@ static int qt_tiocmset(struct tty_struct *tty, struct file *file,dbg ("%s - port %d\n" , __func__, port->number);dbg ("%s - qt_port->RxHolding = %d\n" , __func__, qt_port->RxHolding); - retval =qt_real_tiocmset (tty, port, file, serial, set); + retval =qt_real_tiocmset (tty, port, serial, set);spin_unlock_irqrestore (&qt_port->lock, flags);return retval;
drivers/tty/hvc/hvsi.c +2 -2
@@ -1103,8 +1103,8 @@ static int hvsi_tiocmget(struct tty_struct *tty)return hp->mctrl; } -static int hvsi_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int hvsi_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct hvsi_struct *hp = tty->driver_data;unsigned long flags;
drivers/tty/n_gsm.c +1 -1
@@ -2655,7 +2655,7 @@ static int gsmtty_tiocmget(struct tty_struct *tty)return dlci->modem_rx; } -static int gsmtty_tiocmset (struct tty_struct *tty,struct file *filp, +static int gsmtty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct gsm_dlci *dlci = tty->driver_data;
drivers/tty/serial/68360serial.c +1 -1
@@ -1271,7 +1271,7 @@ static int rs_360_tiocmget(struct tty_struct *tty)return result; } -static int rs_360_tiocmset (struct tty_struct *tty,struct file *file, +static int rs_360_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {#ifdef modem_control
drivers/tty/serial/crisv10.c +1 -2
@@ -3581,8 +3581,7 @@ rs_break(struct tty_struct *tty, int break_state) }static int -rs_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +rs_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct e100_serial *info = (struct e100_serial *)tty->driver_data;unsigned long flags;
drivers/tty/serial/ifx6x60.c +1 -2
@@ -262,7 +262,6 @@ static int ifx_spi_tiocmget(struct tty_struct *tty)/** * ifx_spi_tiocmset - set modem bits * @tty: the tty structure -* @filp: file handle issuing the request * @set: bits to set * @clear: bits to clear *
@@ -271,7 +270,7 @@ static int ifx_spi_tiocmget(struct tty_struct *tty)* * FIXME: do we need to kick the tranfers when we do this ? */ -static int ifx_spi_tiocmset (struct tty_struct *tty,struct file *filp, +static int ifx_spi_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct ifx_spi_device *ifx_dev = tty->driver_data;
drivers/tty/serial/serial_core.c +2 -4
@@ -925,8 +925,7 @@ static int uart_tiocmget(struct tty_struct *tty) }static int -uart_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +uart_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct uart_state *state = tty->driver_data;struct uart_port *uport = state->uart_port;
@@ -934,8 +933,7 @@ uart_tiocmset(struct tty_struct *tty, struct file *file,int ret = -EIO ;mutex_lock (&port->mutex); -if ((!file || !tty_hung_up_p (file)) && - !(tty->flags & (1 <<TTY_IO_ERROR ))) { +if (!(tty->flags & (1 <<TTY_IO_ERROR ))) {uart_update_mctrl (uport, set, clear); ret =0 ; }
drivers/tty/tty_io.c +3 -4
@@ -2481,7 +2481,6 @@ static int tty_tiocmget(struct tty_struct *tty, int __user *p)/** * tty_tiocmset - set modem status * @tty: tty device -* @file: user file pointer * @cmd: command - clear bits, set bits or set all * @p: pointer to desired bits *
@@ -2491,7 +2490,7 @@ static int tty_tiocmget(struct tty_struct *tty, int __user *p)* Locking: none (up to the driver) */ -static int tty_tiocmset (struct tty_struct *tty,struct file *file,unsigned int cmd, +static int tty_tiocmset (struct tty_struct *tty,unsigned int cmd,unsigned __user *p) {int retval;
@@ -2518,7 +2517,7 @@ static int tty_tiocmset(struct tty_struct *tty, struct file *file, unsigned int } set &=TIOCM_DTR |TIOCM_RTS |TIOCM_OUT1 |TIOCM_OUT2 |TIOCM_LOOP ; clear &=TIOCM_DTR |TIOCM_RTS |TIOCM_OUT1 |TIOCM_OUT2 |TIOCM_LOOP ; -return tty->ops->tiocmset (tty, file, set, clear); +return tty->ops->tiocmset (tty, set, clear); }static int tty_tiocgicount (struct tty_struct *tty,void __user *arg)
@@ -2659,7 +2658,7 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)case TIOCMSET :case TIOCMBIC :case TIOCMBIS : -return tty_tiocmset (tty, file, cmd, p); +return tty_tiocmset (tty, cmd, p);case TIOCGICOUNT : retval =tty_tiocgicount (tty, p);/* For the moment allow fall through to the old method */
drivers/usb/class/cdc-acm.c +1 -1
@@ -791,7 +791,7 @@ static int acm_tty_tiocmget(struct tty_struct *tty)TIOCM_CTS ; } -static int acm_tty_tiocmset (struct tty_struct *tty,struct file *file, +static int acm_tty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct acm *acm = tty->driver_data;
drivers/usb/serial/ark3116.c +1 -1
@@ -511,7 +511,7 @@ static int ark3116_tiocmget(struct tty_struct *tty) (ctrl &UART_MCR_OUT2 ?TIOCM_OUT2 :0 ); } -static int ark3116_tiocmset (struct tty_struct *tty,struct file *file, +static int ark3116_tiocmset (struct tty_struct *tty,unsigned set,unsigned clr) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/belkin_sa.c +2 -2
@@ -101,7 +101,7 @@ static void belkin_sa_set_termios(struct tty_struct *tty, struct usb_serial_port *port, struct ktermios * old);static void belkin_sa_break_ctl (struct tty_struct *tty,int break_state);static int belkin_sa_tiocmget (struct tty_struct *tty); -static int belkin_sa_tiocmset (struct tty_struct *tty,struct file *file, +static int belkin_sa_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);
@@ -513,7 +513,7 @@ static int belkin_sa_tiocmget(struct tty_struct *tty)return control_state; } -static int belkin_sa_tiocmset (struct tty_struct *tty,struct file *file, +static int belkin_sa_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ch341.c +1 -1
@@ -431,7 +431,7 @@ out:kfree (break_reg); } -static int ch341_tiocmset (struct tty_struct *tty,struct file *file, +static int ch341_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/cp210x.c +7 -8
@@ -42,9 +42,8 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,static void cp210x_set_termios (struct tty_struct *,struct usb_serial_port *,struct ktermios *);static int cp210x_tiocmget (struct tty_struct *); -static int cp210x_tiocmset (struct tty_struct *,struct file *, -unsigned int ,unsigned int ); -static int cp210x_tiocmset_port (struct usb_serial_port *port,struct file *, +static int cp210x_tiocmset (struct tty_struct *,unsigned int ,unsigned int ); +static int cp210x_tiocmset_port (struct usb_serial_port *port,unsigned int ,unsigned int );static void cp210x_break_ctl (struct tty_struct *,int );static int cp210x_startup (struct usb_serial *);
@@ -698,14 +697,14 @@ static void cp210x_set_termios(struct tty_struct *tty, } -static int cp210x_tiocmset (struct tty_struct *tty,struct file *file, +static int cp210x_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data; -return cp210x_tiocmset_port (port, file, set, clear); +return cp210x_tiocmset_port (port, set, clear); } -static int cp210x_tiocmset_port (struct usb_serial_port *port,struct file *file, +static int cp210x_tiocmset_port (struct usb_serial_port *port,unsigned int set,unsigned int clear) {unsigned int control =0 ;
@@ -737,9 +736,9 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port, struct file *file,static void cp210x_dtr_rts (struct usb_serial_port *p,int on) {if (on) -cp210x_tiocmset_port (p,NULL ,TIOCM_DTR |TIOCM_RTS ,0 ); +cp210x_tiocmset_port (p,TIOCM_DTR |TIOCM_RTS ,0 );else -cp210x_tiocmset_port (p,NULL ,0 ,TIOCM_DTR |TIOCM_RTS ); +cp210x_tiocmset_port (p,0 ,TIOCM_DTR |TIOCM_RTS ); }static int cp210x_tiocmget (struct tty_struct *tty)
drivers/usb/serial/cypress_m8.c +2 -2
@@ -174,7 +174,7 @@ static int cypress_ioctl(struct tty_struct *tty, struct file *file,static void cypress_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);static int cypress_tiocmget (struct tty_struct *tty); -static int cypress_tiocmset (struct tty_struct *tty,struct file *file, +static int cypress_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int cypress_chars_in_buffer (struct tty_struct *tty);static void cypress_throttle (struct tty_struct *tty);
@@ -892,7 +892,7 @@ static int cypress_tiocmget(struct tty_struct *tty) } -static int cypress_tiocmset (struct tty_struct *tty,struct file *file, +static int cypress_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/digi_acceleport.c +5 -5
@@ -446,10 +446,10 @@ static void digi_set_termios(struct tty_struct *tty, struct usb_serial_port *port, struct ktermios *old_termios);static void digi_break_ctl (struct tty_struct *tty,int break_state);static int digi_tiocmget (struct tty_struct *tty); -static int digi_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear); +static int digi_tiocmset (struct tty_struct *tty,unsigned int set, +unsigned int clear);static int digi_write (struct tty_struct *tty,struct usb_serial_port *port, -const unsigned char *buf,int count); +const unsigned char *buf,int count);static void digi_write_bulk_callback (struct urb *urb);static int digi_write_room (struct tty_struct *tty);static int digi_chars_in_buffer (struct tty_struct *tty);
@@ -1134,8 +1134,8 @@ static int digi_tiocmget(struct tty_struct *tty) } -static int digi_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int digi_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;struct digi_port *priv =usb_get_serial_port_data (port);
drivers/usb/serial/ftdi_sio.c +2 -2
@@ -865,7 +865,7 @@ static int ftdi_prepare_write_buffer(struct usb_serial_port *port,static void ftdi_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);static int ftdi_tiocmget (struct tty_struct *tty); -static int ftdi_tiocmset (struct tty_struct *tty,struct file *file, +static int ftdi_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int ftdi_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg);
@@ -2229,7 +2229,7 @@ out:return ret; } -static int ftdi_tiocmset (struct tty_struct *tty,struct file *file, +static int ftdi_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/io_edgeport.c +2 -2
@@ -220,7 +220,7 @@ static int edge_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);static void edge_break (struct tty_struct *tty,int break_state);static int edge_tiocmget (struct tty_struct *tty); -static int edge_tiocmset (struct tty_struct *tty,struct file *file, +static int edge_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int edge_get_icount (struct tty_struct *tty,struct serial_icounter_struct *icount);
@@ -1568,7 +1568,7 @@ static int get_lsr_info(struct edgeport_port *edge_port,return 0 ; } -static int edge_tiocmset (struct tty_struct *tty,struct file *file, +static int edge_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/io_ti.c +1 -1
@@ -2444,7 +2444,7 @@ static void edge_set_termios(struct tty_struct *tty,change_port_settings (tty, edge_port, old_termios); } -static int edge_tiocmset (struct tty_struct *tty,struct file *file, +static int edge_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/iuu_phoenix.c +1 -1
@@ -150,7 +150,7 @@ static void iuu_release(struct usb_serial *serial) } } -static int iuu_tiocmset (struct tty_struct *tty,struct file *file, +static int iuu_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/keyspan.c +1 -1
@@ -317,7 +317,7 @@ static int keyspan_tiocmget(struct tty_struct *tty)return value; } -static int keyspan_tiocmset (struct tty_struct *tty,struct file *file, +static int keyspan_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/keyspan.h +1 -1
@@ -60,7 +60,7 @@ static void keyspan_break_ctl (struct tty_struct *tty, int break_state);static int keyspan_tiocmget (struct tty_struct *tty);static int keyspan_tiocmset (struct tty_struct *tty, -struct file *file,unsigned int set, +unsigned int set,unsigned int clear);static int keyspan_fake_startup (struct usb_serial *serial);
drivers/usb/serial/keyspan_pda.c +1 -1
@@ -478,7 +478,7 @@ static int keyspan_pda_tiocmget(struct tty_struct *tty)return value; } -static int keyspan_pda_tiocmset (struct tty_struct *tty,struct file *file, +static int keyspan_pda_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/kl5kusb105.c +2 -2
@@ -69,7 +69,7 @@ static void klsi_105_close(struct usb_serial_port *port);static void klsi_105_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);static int klsi_105_tiocmget (struct tty_struct *tty); -static int klsi_105_tiocmset (struct tty_struct *tty,struct file *file, +static int klsi_105_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static void klsi_105_process_read_urb (struct urb *urb); static int klsi_105_prepare_write_buffer(struct usb_serial_port *port,
@@ -661,7 +661,7 @@ static int klsi_105_tiocmget(struct tty_struct *tty)return (int )line_state; } -static int klsi_105_tiocmset (struct tty_struct *tty,struct file *file, +static int klsi_105_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {int retval = -EINVAL ;
drivers/usb/serial/kobil_sct.c +2 -2
@@ -78,7 +78,7 @@ static int kobil_write_room(struct tty_struct *tty);static int kobil_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg);static int kobil_tiocmget (struct tty_struct *tty); -static int kobil_tiocmset (struct tty_struct *tty,struct file *file, +static int kobil_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static void kobil_read_int_callback (struct urb *urb);static void kobil_write_callback (struct urb *purb);
@@ -544,7 +544,7 @@ static int kobil_tiocmget(struct tty_struct *tty)return result; } -static int kobil_tiocmset (struct tty_struct *tty,struct file *file, +static int kobil_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/mct_u232.c +2 -2
@@ -104,7 +104,7 @@ static void mct_u232_set_termios(struct tty_struct *tty, struct usb_serial_port *port, struct ktermios *old);static void mct_u232_break_ctl (struct tty_struct *tty,int break_state);static int mct_u232_tiocmget (struct tty_struct *tty); -static int mct_u232_tiocmset (struct tty_struct *tty,struct file *file, +static int mct_u232_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int mct_u232_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg);
@@ -806,7 +806,7 @@ static int mct_u232_tiocmget(struct tty_struct *tty)return control_state; } -static int mct_u232_tiocmset (struct tty_struct *tty,struct file *file, +static int mct_u232_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/mos7720.c +1 -1
@@ -1858,7 +1858,7 @@ static int mos7720_tiocmget(struct tty_struct *tty)return result; } -static int mos7720_tiocmset (struct tty_struct *tty,struct file *file, +static int mos7720_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/mos7840.c +1 -1
@@ -1674,7 +1674,7 @@ static int mos7840_tiocmget(struct tty_struct *tty)return result; } -static int mos7840_tiocmset (struct tty_struct *tty,struct file *file, +static int mos7840_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/oti6858.c +2 -2
@@ -145,7 +145,7 @@ static int oti6858_write(struct tty_struct *tty, struct usb_serial_port *port,static int oti6858_write_room (struct tty_struct *tty);static int oti6858_chars_in_buffer (struct tty_struct *tty);static int oti6858_tiocmget (struct tty_struct *tty); -static int oti6858_tiocmset (struct tty_struct *tty,struct file *file, +static int oti6858_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static int oti6858_startup (struct usb_serial *serial);static void oti6858_release (struct usb_serial *serial);
@@ -624,7 +624,7 @@ static void oti6858_close(struct usb_serial_port *port)usb_kill_urb (port->interrupt_in_urb); } -static int oti6858_tiocmset (struct tty_struct *tty,struct file *file, +static int oti6858_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/pl2303.c +1 -1
@@ -505,7 +505,7 @@ static int pl2303_open(struct tty_struct *tty, struct usb_serial_port *port)return 0 ; } -static int pl2303_tiocmset (struct tty_struct *tty,struct file *file, +static int pl2303_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/sierra.c +1 -1
@@ -408,7 +408,7 @@ static int sierra_tiocmget(struct tty_struct *tty)return value; } -static int sierra_tiocmset (struct tty_struct *tty,struct file *file, +static int sierra_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/spcp8x5.c +1 -1
@@ -595,7 +595,7 @@ static int spcp8x5_ioctl(struct tty_struct *tty, struct file *file,return -ENOIOCTLCMD ; } -static int spcp8x5_tiocmset (struct tty_struct *tty,struct file *file, +static int spcp8x5_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ssu100.c +1 -1
@@ -517,7 +517,7 @@ mget_out:return r; } -static int ssu100_tiocmset (struct tty_struct *tty,struct file *file, +static int ssu100_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ti_usb_3410_5052.c +3 -3
@@ -113,7 +113,7 @@ static int ti_get_icount(struct tty_struct *tty,static void ti_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old_termios);static int ti_tiocmget (struct tty_struct *tty); -static int ti_tiocmset (struct tty_struct *tty,struct file *file, +static int ti_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static void ti_break (struct tty_struct *tty,int break_state);static void ti_interrupt_callback (struct urb *urb);
@@ -1033,8 +1033,8 @@ static int ti_tiocmget(struct tty_struct *tty) } -static int ti_tiocmset (struct tty_struct *tty,struct file *file, -unsigned int set,unsigned int clear) +static int ti_tiocmset (struct tty_struct *tty, +unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;struct ti_port *tport =usb_get_serial_port_data (port);
drivers/usb/serial/usb-serial.c +2 -2
@@ -507,7 +507,7 @@ static int serial_tiocmget(struct tty_struct *tty)return -EINVAL ; } -static int serial_tiocmset (struct tty_struct *tty,struct file *file, +static int serial_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
@@ -515,7 +515,7 @@ static int serial_tiocmset(struct tty_struct *tty, struct file *file,dbg ("%s - port %d" , __func__, port->number);if (port->serial->type->tiocmset) -return port->serial->type->tiocmset (tty, file, set, clear); +return port->serial->type->tiocmset (tty, set, clear);return -EINVAL ; }
drivers/usb/serial/usb-wwan.h +1 -1
@@ -16,7 +16,7 @@ extern void usb_wwan_set_termios(struct tty_struct *tty,struct usb_serial_port *port, struct ktermios *old);extern int usb_wwan_tiocmget (struct tty_struct *tty); -extern int usb_wwan_tiocmset (struct tty_struct *tty,struct file *file, +extern int usb_wwan_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);extern int usb_wwan_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg);
drivers/usb/serial/usb_wwan.c +1 -1
@@ -98,7 +98,7 @@ int usb_wwan_tiocmget(struct tty_struct *tty) }EXPORT_SYMBOL (usb_wwan_tiocmget); -int usb_wwan_tiocmset (struct tty_struct *tty,struct file *file, +int usb_wwan_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/whiteheat.c +2 -2
@@ -157,7 +157,7 @@ static int whiteheat_ioctl(struct tty_struct *tty, struct file *file,static void whiteheat_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);static int whiteheat_tiocmget (struct tty_struct *tty); -static int whiteheat_tiocmset (struct tty_struct *tty,struct file *file, +static int whiteheat_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);static void whiteheat_break_ctl (struct tty_struct *tty,int break_state);static int whiteheat_chars_in_buffer (struct tty_struct *tty);
@@ -850,7 +850,7 @@ static int whiteheat_tiocmget(struct tty_struct *tty)return modem_signals; } -static int whiteheat_tiocmset (struct tty_struct *tty,struct file *file, +static int whiteheat_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct usb_serial_port *port = tty->driver_data;
include/linux/tty_driver.h +1 -1
@@ -272,7 +272,7 @@ struct tty_operations {void (*wait_until_sent)(struct tty_struct *tty,int timeout);void (*send_xchar)(struct tty_struct *tty,char ch);int (*tiocmget)(struct tty_struct *tty); -int (*tiocmset)(struct tty_struct *tty,struct file *file, +int (*tiocmset)(struct tty_struct *tty,unsigned int set,unsigned int clear);int (*resize)(struct tty_struct *tty,struct winsize *ws);int (*set_termiox)(struct tty_struct *tty,struct termiox *tnew);
include/linux/usb/serial.h +1 -1
@@ -269,7 +269,7 @@ struct usb_serial_driver {void (*throttle)(struct tty_struct *tty);void (*unthrottle)(struct tty_struct *tty);int (*tiocmget)(struct tty_struct *tty); -int (*tiocmset)(struct tty_struct *tty,struct file *file, +int (*tiocmset)(struct tty_struct *tty,unsigned int set,unsigned int clear);int (*get_icount)(struct tty_struct *tty,struct serial_icounter_struct *icount);
include/net/irda/ircomm_tty.h +1 -1
@@ -121,7 +121,7 @@ void ircomm_tty_start(struct tty_struct *tty);void ircomm_tty_check_modem_status (struct ircomm_tty_cb *self);extern int ircomm_tty_tiocmget (struct tty_struct *tty); -extern int ircomm_tty_tiocmset (struct tty_struct *tty,struct file *file, +extern int ircomm_tty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear);extern int ircomm_tty_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg);
net/bluetooth/rfcomm/tty.c +1 -1
@@ -1098,7 +1098,7 @@ static int rfcomm_tty_tiocmget(struct tty_struct *tty)return dev->modem_status; } -static int rfcomm_tty_tiocmset (struct tty_struct *tty,struct file *filp,unsigned int set,unsigned int clear) +static int rfcomm_tty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct rfcomm_dev *dev = (struct rfcomm_dev *) tty->driver_data;struct rfcomm_dlc *dlc = dev->dlc;
net/irda/ircomm/ircomm_tty_ioctl.c +2 -2
@@ -214,12 +214,12 @@ int ircomm_tty_tiocmget(struct tty_struct *tty) }/* -* Function ircomm_tty_tiocmset (tty, file, set, clear) +* Function ircomm_tty_tiocmset (tty, set, clear) * * * */ -int ircomm_tty_tiocmset (struct tty_struct *tty,struct file *file, +int ircomm_tty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear) {struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;
PATCH 3/6 tty: remove filp from the USB tty ioctls
In reply to Alan CoxFrom: Alan Cox <[email protected]>
We don't use it so we can trim it from here as we try and stamp the file object dependencies out of the serial code.
---
drivers/staging/quatech_usb2/quatech_usb2.c | 2 +- drivers/staging/serqt_usb2/serqt_usb2.c | 2 +- drivers/usb/serial/ark3116.c | 2 +- drivers/usb/serial/ch341.c | 3 +-- drivers/usb/serial/cypress_m8.c | 4 ++-- drivers/usb/serial/ftdi_sio.c | 4 ++-- drivers/usb/serial/io_edgeport.c | 4 ++-- drivers/usb/serial/io_ti.c | 2 +- drivers/usb/serial/kobil_sct.c | 4 ++-- drivers/usb/serial/mct_u232.c | 4 ++-- drivers/usb/serial/mos7720.c | 2 +- drivers/usb/serial/mos7840.c | 2 +- drivers/usb/serial/opticon.c | 2 +- drivers/usb/serial/oti6858.c | 4 ++-- drivers/usb/serial/pl2303.c | 2 +- drivers/usb/serial/spcp8x5.c | 2 +- drivers/usb/serial/ssu100.c | 2 +- drivers/usb/serial/ti_usb_3410_5052.c | 4 ++-- drivers/usb/serial/usb-serial.c | 2 +- drivers/usb/serial/usb-wwan.h | 2 +- drivers/usb/serial/usb_wwan.c | 2 +- drivers/usb/serial/whiteheat.c | 4 ++-- include/linux/usb/serial.h | 2 +- 23 files changed, 31 insertions(+), 32 deletions(-)
drivers/staging/quatech_usb2/quatech_usb2.c +1 -1
@@ -852,7 +852,7 @@ static int qt2_chars_in_buffer(struct tty_struct *tty)* TIOCMGET and TIOCMSET are filtered off to their own methods before they get * here, so we don't have to handle them. */ -static int qt2_ioctl (struct tty_struct *tty,struct file *file, +static int qt2_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/staging/serqt_usb2/serqt_usb2.c +1 -1
@@ -1191,7 +1191,7 @@ static int qt_write_room(struct tty_struct *tty) } -static int qt_ioctl (struct tty_struct *tty,struct file *file, +static int qt_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ark3116.c +1 -1
@@ -431,7 +431,7 @@ static int ark3116_get_icount(struct tty_struct *tty,return 0 ; } -static int ark3116_ioctl (struct tty_struct *tty,struct file *file, +static int ark3116_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ch341.c +1 -2
@@ -552,8 +552,7 @@ static int wait_modem_info(struct usb_serial_port *port, unsigned int arg)return 0 ; } -/*static int ch341_ioctl(struct usb_serial_port *port, struct file *file,*/ -static int ch341_ioctl (struct tty_struct *tty,struct file *file, +static int ch341_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/cypress_m8.c +2 -2
@@ -169,7 +169,7 @@ static int cypress_write(struct tty_struct *tty, struct usb_serial_port *port, const unsigned char *buf, int count);static void cypress_send (struct usb_serial_port *port);static int cypress_write_room (struct tty_struct *tty); -static int cypress_ioctl (struct tty_struct *tty,struct file *file, +static int cypress_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static void cypress_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);
@@ -917,7 +917,7 @@ static int cypress_tiocmset(struct tty_struct *tty, } -static int cypress_ioctl (struct tty_struct *tty,struct file *file, +static int cypress_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ftdi_sio.c +2 -2
@@ -867,7 +867,7 @@ static void ftdi_set_termios(struct tty_struct *tty,static int ftdi_tiocmget (struct tty_struct *tty);static int ftdi_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear); -static int ftdi_ioctl (struct tty_struct *tty,struct file *file, +static int ftdi_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static void ftdi_break_ctl (struct tty_struct *tty,int break_state);
@@ -2237,7 +2237,7 @@ static int ftdi_tiocmset(struct tty_struct *tty,return update_mctrl (port, set, clear); } -static int ftdi_ioctl (struct tty_struct *tty,struct file *file, +static int ftdi_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/io_edgeport.c +2 -2
@@ -216,7 +216,7 @@ static void edge_unthrottle(struct tty_struct *tty);static void edge_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old_termios); -static int edge_ioctl (struct tty_struct *tty,struct file *file, +static int edge_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static void edge_break (struct tty_struct *tty,int break_state);static int edge_tiocmget (struct tty_struct *tty);
@@ -1679,7 +1679,7 @@ static int get_serial_info(struct edgeport_port *edge_port,* SerialIoctl * this function handles any ioctl calls to the driver *****************************************************************************/ -static int edge_ioctl (struct tty_struct *tty,struct file *file, +static int edge_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/io_ti.c +1 -1
@@ -2552,7 +2552,7 @@ static int get_serial_info(struct edgeport_port *edge_port,return 0 ; } -static int edge_ioctl (struct tty_struct *tty,struct file *file, +static int edge_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/kobil_sct.c +2 -2
@@ -75,7 +75,7 @@ static void kobil_close(struct usb_serial_port *port);static int kobil_write (struct tty_struct *tty,struct usb_serial_port *port,const unsigned char *buf,int count);static int kobil_write_room (struct tty_struct *tty); -static int kobil_ioctl (struct tty_struct *tty,struct file *file, +static int kobil_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static int kobil_tiocmget (struct tty_struct *tty); static int kobil_tiocmset(struct tty_struct *tty,
@@ -668,7 +668,7 @@ static void kobil_set_termios(struct tty_struct *tty, ); } -static int kobil_ioctl (struct tty_struct *tty,struct file *file, +static int kobil_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/mct_u232.c +2 -2
@@ -106,7 +106,7 @@ static void mct_u232_break_ctl(struct tty_struct *tty, int break_state);static int mct_u232_tiocmget (struct tty_struct *tty);static int mct_u232_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear); -static int mct_u232_ioctl (struct tty_struct *tty,struct file *file, +static int mct_u232_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static int mct_u232_get_icount (struct tty_struct *tty,struct serial_icounter_struct *icount);
@@ -874,7 +874,7 @@ static void mct_u232_unthrottle(struct tty_struct *tty) } } -static int mct_u232_ioctl (struct tty_struct *tty,struct file *file, +static int mct_u232_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {DEFINE_WAIT (wait);
drivers/usb/serial/mos7720.c +1 -1
@@ -1987,7 +1987,7 @@ static int get_serial_info(struct moschip_port *mos7720_port,return 0 ; } -static int mos7720_ioctl (struct tty_struct *tty,struct file *file, +static int mos7720_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/mos7840.c +1 -1
@@ -2235,7 +2235,7 @@ static int mos7840_get_icount(struct tty_struct *tty,* this function handles any ioctl calls to the driver *****************************************************************************/ -static int mos7840_ioctl (struct tty_struct *tty,struct file *file, +static int mos7840_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/opticon.c +1 -1
@@ -396,7 +396,7 @@ static int get_serial_info(struct opticon_private *priv,return 0 ; } -static int opticon_ioctl (struct tty_struct *tty,struct file *file, +static int opticon_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/oti6858.c +2 -2
@@ -135,7 +135,7 @@ static void oti6858_close(struct usb_serial_port *port);static void oti6858_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);static void oti6858_init_termios (struct tty_struct *tty); -static int oti6858_ioctl (struct tty_struct *tty,struct file *file, +static int oti6858_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static void oti6858_read_int_callback (struct urb *urb);static void oti6858_read_bulk_callback (struct urb *urb);
@@ -728,7 +728,7 @@ static int wait_modem_info(struct usb_serial_port *port, unsigned int arg)return 0 ; } -static int oti6858_ioctl (struct tty_struct *tty,struct file *file, +static int oti6858_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/pl2303.c +1 -1
@@ -606,7 +606,7 @@ static int wait_modem_info(struct usb_serial_port *port, unsigned int arg)return 0 ; } -static int pl2303_ioctl (struct tty_struct *tty,struct file *file, +static int pl2303_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct serial_struct ser;
drivers/usb/serial/spcp8x5.c +1 -1
@@ -576,7 +576,7 @@ static int spcp8x5_wait_modem_info(struct usb_serial_port *port,return 0 ; } -static int spcp8x5_ioctl (struct tty_struct *tty,struct file *file, +static int spcp8x5_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ssu100.c +1 -1
@@ -439,7 +439,7 @@ static int ssu100_get_icount(struct tty_struct *tty, -static int ssu100_ioctl (struct tty_struct *tty,struct file *file, +static int ssu100_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/ti_usb_3410_5052.c +2 -2
@@ -106,7 +106,7 @@ static int ti_write_room(struct tty_struct *tty);static int ti_chars_in_buffer (struct tty_struct *tty);static void ti_throttle (struct tty_struct *tty);static void ti_unthrottle (struct tty_struct *tty); -static int ti_ioctl (struct tty_struct *tty,struct file *file, +static int ti_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static int ti_get_icount (struct tty_struct *tty,struct serial_icounter_struct *icount);
@@ -818,7 +818,7 @@ static int ti_get_icount(struct tty_struct *tty,return 0 ; } -static int ti_ioctl (struct tty_struct *tty,struct file *file, +static int ti_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/usb-serial.c +1 -1
@@ -417,7 +417,7 @@ static int serial_ioctl(struct tty_struct *tty, struct file *file,/* pass on to the driver specific version of this function if it is available */ if (port->serial->type->ioctl) { - retval = port->serial->type->ioctl (tty, file, cmd, arg); + retval = port->serial->type->ioctl (tty, cmd, arg); }else retval = -ENOIOCTLCMD ;return retval;
drivers/usb/serial/usb-wwan.h +1 -1
@@ -18,7 +18,7 @@ extern void usb_wwan_set_termios(struct tty_struct *tty,extern int usb_wwan_tiocmget (struct tty_struct *tty);extern int usb_wwan_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear); -extern int usb_wwan_ioctl (struct tty_struct *tty,struct file *file, +extern int usb_wwan_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);extern int usb_wwan_send_setup (struct usb_serial_port *port); extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port,
drivers/usb/serial/usb_wwan.c +1 -1
@@ -178,7 +178,7 @@ static int set_serial_info(struct usb_serial_port *port,return retval; } -int usb_wwan_ioctl (struct tty_struct *tty,struct file *file, +int usb_wwan_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
drivers/usb/serial/whiteheat.c +2 -2
@@ -152,7 +152,7 @@ static int whiteheat_write(struct tty_struct *tty,struct usb_serial_port *port, const unsigned char *buf, int count);static int whiteheat_write_room (struct tty_struct *tty); -static int whiteheat_ioctl (struct tty_struct *tty,struct file *file, +static int whiteheat_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static void whiteheat_set_termios (struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);
@@ -874,7 +874,7 @@ static int whiteheat_tiocmset(struct tty_struct *tty, } -static int whiteheat_ioctl (struct tty_struct *tty,struct file *file, +static int whiteheat_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
include/linux/usb/serial.h +1 -1
@@ -260,7 +260,7 @@ struct usb_serial_driver { const unsigned char *buf, int count);/* Called only by the tty layer */ int (*write_room)(struct tty_struct *tty); -int (*ioctl)(struct tty_struct *tty,struct file *file, +int (*ioctl)(struct tty_struct *tty,unsigned int cmd,unsigned long arg);void (*set_termios)(struct tty_struct *tty,struct usb_serial_port *port,struct ktermios *old);
PATCH 4/6 tty: now phase out the ioctl file pointer for good
In reply to Alan CoxFrom: Alan Cox <[email protected]>
Only oddities here are a couple of drivers that bogusly called the ldisc helpers instead of returning -ENOIOCTLCMD. Fix the bug and the rest goes away.
---
drivers/char/amiserial.c | 2 +- drivers/char/cyclades.c | 2 +- drivers/char/epca.c | 8 ++++---- drivers/char/ip2/ip2main.c | 4 ++-- drivers/char/isicom.c | 2 +- drivers/char/istallion.c | 4 ++-- drivers/char/moxa.c | 2 +- drivers/char/mxser.c | 2 +- drivers/char/nozomi.c | 2 +- drivers/char/pcmcia/ipwireless/tty.c | 4 ++-- drivers/char/riscom8.c | 2 +- drivers/char/rocket.c | 2 +- drivers/char/ser_a2232.c | 6 +++--- drivers/char/serial167.c | 2 +- drivers/char/specialix.c | 2 +- drivers/char/stallion.c | 5 ++--- drivers/char/sx.c | 2 +- drivers/char/synclink.c | 3 +-- drivers/char/synclink_gt.c | 9 ++++----- drivers/char/synclinkmp.c | 5 ++--- drivers/char/ttyprintk.c | 2 +- drivers/char/vme_scc.c | 4 ++-- drivers/isdn/capi/capi.c | 10 ++-------- drivers/isdn/gigaset/interface.c | 4 ++-- drivers/isdn/i4l/isdn_tty.c | 3 +-- drivers/net/usb/hso.c | 2 +- drivers/tty/n_gsm.c | 2 +- drivers/tty/pty.c | 4 ++-- drivers/tty/serial/68328serial.c | 2 +- drivers/tty/serial/68360serial.c | 2 +- drivers/tty/serial/crisv10.c | 2 +- drivers/tty/serial/serial_core.c | 4 ++-- drivers/tty/tty_io.c | 4 ++-- drivers/tty/vt/vt_ioctl.c | 6 +++--- drivers/usb/class/cdc-acm.c | 2 +- drivers/usb/serial/usb-serial.c | 2 +- include/linux/tty.h | 2 +- include/linux/tty_driver.h | 9 ++++----- include/net/irda/ircomm_tty.h | 2 +- net/bluetooth/rfcomm/tty.c | 2 +- net/irda/ircomm/ircomm_tty_ioctl.c | 4 ++-- 41 files changed, 66 insertions(+), 78 deletions(-)
drivers/char/amiserial.c +1 -1
@@ -1293,7 +1293,7 @@ static int rs_get_icount(struct tty_struct *tty,return 0 ; } -static int rs_ioctl (struct tty_struct *tty,struct file * file, +static int rs_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct async_struct * info = tty->driver_data;
drivers/char/cyclades.c +1 -1
@@ -2680,7 +2680,7 @@ static int cy_cflags_changed(struct cyclades_port *info, unsigned long arg,* not recognized by the driver, it should return ENOIOCTLCMD. */ static int -cy_ioctl (struct tty_struct *tty,struct file *file, +cy_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct cyclades_port *info = tty->driver_data;
drivers/char/epca.c +4 -4
@@ -175,9 +175,9 @@ static unsigned termios2digi_i(struct channel *ch, unsigned);static unsigned termios2digi_c (struct channel *ch,unsigned );static void epcaparam (struct tty_struct *,struct channel *);static void receive_data (struct channel *,struct tty_struct *tty); -static int pc_ioctl (struct tty_struct *,struct file *, +static int pc_ioctl (struct tty_struct *,unsigned int ,unsigned long ); -static int info_ioctl (struct tty_struct *,struct file *, +static int info_ioctl (struct tty_struct *,unsigned int ,unsigned long );static void pc_set_termios (struct tty_struct *,struct ktermios *);static void do_softint (struct work_struct *work);
@@ -1919,7 +1919,7 @@ static void receive_data(struct channel *ch, struct tty_struct *tty)tty_schedule_flip (tty); } -static int info_ioctl (struct tty_struct *tty,struct file *file, +static int info_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {switch (cmd) {
@@ -2057,7 +2057,7 @@ static int pc_tiocmset(struct tty_struct *tty,return 0 ; } -static int pc_ioctl (struct tty_struct *tty,struct file *file, +static int pc_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {digiflow_t dflow;
drivers/char/ip2/ip2main.c +2 -2
@@ -173,7 +173,7 @@ static void ip2_flush_chars(PTTY);static int ip2_write_room (PTTY );static int ip2_chars_in_buf (PTTY );static void ip2_flush_buffer (PTTY ); -static int ip2_ioctl (PTTY ,struct file *,UINT ,ULONG ); +static int ip2_ioctl (PTTY ,UINT ,ULONG );static void ip2_set_termios (PTTY ,struct ktermios *);static void ip2_set_line_discipline (PTTY );static void ip2_throttle (PTTY );
@@ -2127,7 +2127,7 @@ static int ip2_tiocmset(struct tty_struct *tty,/* */ /******************************************************************************/ static int -ip2_ioctl (PTTY tty,struct file *pFile,UINT cmd,ULONG arg ) +ip2_ioctl (PTTY tty,UINT cmd,ULONG arg ) {wait_queue_t wait;i2ChanStrPtr pCh = DevTable[tty->index];
drivers/char/isicom.c +1 -1
@@ -1167,7 +1167,7 @@ static int isicom_get_serial_info(struct isi_port *port,return 0 ; } -static int isicom_ioctl (struct tty_struct *tty,struct file *filp, +static int isicom_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct isi_port *port = tty->driver_data;
drivers/char/istallion.c +2 -2
@@ -603,7 +603,7 @@ static int stli_putchar(struct tty_struct *tty, unsigned char ch);static void stli_flushchars (struct tty_struct *tty);static int stli_writeroom (struct tty_struct *tty);static int stli_charsinbuffer (struct tty_struct *tty); -static int stli_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg); +static int stli_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static void stli_settermios (struct tty_struct *tty,struct ktermios *old);static void stli_throttle (struct tty_struct *tty);static void stli_unthrottle (struct tty_struct *tty);
@@ -1556,7 +1556,7 @@ static int stli_tiocmset(struct tty_struct *tty, sizeof(asysigs_t), 0); } -static int stli_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg) +static int stli_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct stliport *portp;struct stlibrd *brdp;
drivers/char/moxa.c +1 -1
@@ -287,7 +287,7 @@ static void moxa_low_water_check(void __iomem *ofsAddr)* TTY operations */ -static int moxa_ioctl (struct tty_struct *tty,struct file *file, +static int moxa_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct moxa_port *ch = tty->driver_data;
drivers/char/mxser.c +1 -1
@@ -1655,7 +1655,7 @@ static int mxser_cflags_changed(struct mxser_port *info, unsigned long arg,return ret; } -static int mxser_ioctl (struct tty_struct *tty,struct file *file, +static int mxser_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct mxser_port *info = tty->driver_data;
drivers/char/nozomi.c +1 -1
@@ -1824,7 +1824,7 @@ static int ntty_tiocgicount(struct tty_struct *tty,return 0 ; } -static int ntty_ioctl (struct tty_struct *tty,struct file *file, +static int ntty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct port *port = tty->driver_data;
drivers/char/pcmcia/ipwireless/tty.c +2 -2
@@ -425,7 +425,7 @@ ipw_tiocmset(struct tty_struct *linux_tty,return set_control_lines (tty, set, clear); } -static int ipw_ioctl (struct tty_struct *linux_tty,struct file *file, +static int ipw_ioctl (struct tty_struct *linux_tty,unsigned int cmd,unsigned long arg) {struct ipw_tty *tty = linux_tty->driver_data;
@@ -484,7 +484,7 @@ static int ipw_ioctl(struct tty_struct *linux_tty, struct file *file,return tty_perform_flush (linux_tty, arg); } } -return tty_mode_ioctl (linux_tty, file, cmd , arg); +return -ENOIOCTLCMD ; } static int add_tty(int j,
drivers/char/riscom8.c +1 -1
@@ -1236,7 +1236,7 @@ static int rc_get_serial_info(struct riscom_port *port,return copy_to_user (retinfo, &tmp,sizeof (tmp)) ? -EFAULT :0 ; } -static int rc_ioctl (struct tty_struct *tty,struct file *filp, +static int rc_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct riscom_port *port = tty->driver_data;
drivers/char/rocket.c +1 -1
@@ -1326,7 +1326,7 @@ static int get_version(struct r_port *info, struct rocket_version __user *retver }/* IOCTL call handler into the driver */ -static int rp_ioctl (struct tty_struct *tty,struct file *file, +static int rp_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct r_port *info = tty->driver_data;
drivers/char/ser_a2232.c +3 -3
@@ -133,8 +133,8 @@ static void a2232_hungup(void *ptr);/* END GENERIC_SERIAL PROTOTYPES */ /* Functions that the TTY driver struct expects */ -static int a2232_ioctl (struct tty_struct *tty,struct file *file, -unsigned int cmd,unsigned long arg); +static int a2232_ioctl (struct tty_struct *tty, +unsigned int cmd,unsigned long arg);static void a2232_throttle (struct tty_struct *tty);static void a2232_unthrottle (struct tty_struct *tty);static int a2232_open (struct tty_struct * tty,struct file * filp);
@@ -447,7 +447,7 @@ static void a2232_hungup(void *ptr)/*** END OF REAL_DRIVER FUNCTIONS ***/ /*** BEGIN FUNCTIONS EXPECTED BY TTY DRIVER STRUCTS ***/ -static int a2232_ioctl (struct tty_struct *tty,struct file *file, +static int a2232_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {return -ENOIOCTLCMD ;
drivers/char/serial167.c +1 -1
@@ -1492,7 +1492,7 @@ get_default_timeout(struct cyclades_port *info, unsigned long __user * value) }static int -cy_ioctl (struct tty_struct *tty,struct file *file, +cy_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct cyclades_port *info = tty->driver_data;
drivers/char/specialix.c +1 -1
@@ -1928,7 +1928,7 @@ static int sx_get_serial_info(struct specialix_port *port, } -static int sx_ioctl (struct tty_struct *tty,struct file *filp, +static int sx_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct specialix_port *port = tty->driver_data;
drivers/char/stallion.c +2 -3
@@ -1132,14 +1132,13 @@ static int stl_tiocmset(struct tty_struct *tty,return 0 ; } -static int stl_ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg) +static int stl_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct stlport *portp;int rc;void __user *argp = (void __user *)arg; -pr_debug ("stl_ioctl(tty=%p,file=%p,cmd=%x,arg=%lx)\n" , tty, file, cmd, - arg); +pr_debug ("stl_ioctl(tty=%p,cmd=%x,arg=%lx)\n" , tty, cmd, arg); portp = tty->driver_data;if (portp ==NULL )
drivers/char/sx.c +1 -1
@@ -1899,7 +1899,7 @@ static int sx_tiocmset(struct tty_struct *tty,return 0 ; } -static int sx_ioctl (struct tty_struct *tty,struct file *filp, +static int sx_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {int rc;
drivers/char/synclink.c +1 -2
@@ -2962,13 +2962,12 @@ static int msgl_get_icount(struct tty_struct *tty,* Arguments: * * tty pointer to tty instance data -* file pointer to associated file object for device * cmd IOCTL command code * arg command argument/context * * Return Value: 0 if success, otherwise error code */ -static int mgsl_ioctl (struct tty_struct *tty,struct file * file, +static int mgsl_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct mgsl_struct * info = tty->driver_data;
drivers/char/synclink_gt.c +4 -5
@@ -154,7 +154,7 @@ static void flush_buffer(struct tty_struct *tty);static void tx_hold (struct tty_struct *tty);static void tx_release (struct tty_struct *tty); -static int ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg); +static int ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static int chars_in_buffer (struct tty_struct *tty);static void throttle (struct tty_struct * tty);static void unthrottle (struct tty_struct * tty);
@@ -1030,13 +1030,12 @@ static void tx_release(struct tty_struct *tty)* Arguments * * tty pointer to tty instance data -* file pointer to associated file object for device * cmd IOCTL command code * arg command argument/context * * Return 0 if success, otherwise error code */ -static int ioctl (struct tty_struct *tty,struct file *file, +static int ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct slgt_info *info = tty->driver_data;
@@ -1200,7 +1199,7 @@ static long set_params32(struct slgt_info *info, struct MGSL_PARAMS32 __user *nereturn 0 ; } -static long slgt_compat_ioctl (struct tty_struct *tty,struct file *file, +static long slgt_compat_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct slgt_info *info = tty->driver_data;
@@ -1239,7 +1238,7 @@ static long slgt_compat_ioctl(struct tty_struct *tty, struct file *file,case MGSL_IOCSIF :case MGSL_IOCSXSYNC :case MGSL_IOCSXCTRL : - rc =ioctl (tty, file, cmd, arg); + rc =ioctl (tty, cmd, arg);break ; }
drivers/char/synclinkmp.c +2 -3
@@ -520,7 +520,7 @@ static void flush_buffer(struct tty_struct *tty);static void tx_hold (struct tty_struct *tty);static void tx_release (struct tty_struct *tty); -static int ioctl (struct tty_struct *tty,struct file *file,unsigned int cmd,unsigned long arg); +static int ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static int chars_in_buffer (struct tty_struct *tty);static void throttle (struct tty_struct * tty);static void unthrottle (struct tty_struct * tty);
@@ -1248,13 +1248,12 @@ static void tx_release(struct tty_struct *tty)* Arguments: * * tty pointer to tty instance data -* file pointer to associated file object for device * cmd IOCTL command code * arg command argument/context * * Return Value: 0 if success, otherwise error code */ -static int ioctl (struct tty_struct *tty,struct file *file, +static int ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {SLMP_INFO *info = tty->driver_data;
drivers/char/ttyprintk.c +1 -1
@@ -144,7 +144,7 @@ static int tpk_write_room(struct tty_struct *tty)/* * TTY operations ioctl function. */ -static int tpk_ioctl (struct tty_struct *tty,struct file *file, +static int tpk_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct ttyprintk_port *tpkp = tty->driver_data;
drivers/char/vme_scc.c +2 -2
@@ -75,7 +75,7 @@ static void scc_hungup(void *ptr);static void scc_close (void *ptr);static int scc_chars_in_buffer (void * ptr);static int scc_open (struct tty_struct * tty,struct file * filp); -static int scc_ioctl (struct tty_struct * tty,struct file * filp, +static int scc_ioctl (struct tty_struct * tty,unsigned int cmd,unsigned long arg);static void scc_throttle (struct tty_struct *tty);static void scc_unthrottle (struct tty_struct *tty);
@@ -1046,7 +1046,7 @@ static void scc_unthrottle (struct tty_struct * tty) } -static int scc_ioctl (struct tty_struct *tty,struct file *file, +static int scc_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {return -ENOIOCTLCMD ;
drivers/isdn/capi/capi.c +2 -8
@@ -1219,16 +1219,10 @@ static int capinc_tty_chars_in_buffer(struct tty_struct *tty)return mp->outbytes; } -static int capinc_tty_ioctl (struct tty_struct *tty,struct file * file, +static int capinc_tty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) { -int error =0 ; -switch (cmd) { -default : - error =n_tty_ioctl_helper (tty, file, cmd, arg); -break ; - } -return error; +return -ENOIOCTLCMD ; }static void capinc_tty_set_termios (struct tty_struct *tty,struct ktermios * old)
drivers/isdn/gigaset/interface.c +2 -2
@@ -115,7 +115,7 @@ static int if_config(struct cardstate *cs, int *arg)static int if_open (struct tty_struct *tty,struct file *filp);static void if_close (struct tty_struct *tty,struct file *filp); -static int if_ioctl (struct tty_struct *tty,struct file *file, +static int if_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);static int if_write_room (struct tty_struct *tty);static int if_chars_in_buffer (struct tty_struct *tty);
@@ -205,7 +205,7 @@ static void if_close(struct tty_struct *tty, struct file *filp)module_put (cs->driver->owner); } -static int if_ioctl (struct tty_struct *tty,struct file *file, +static int if_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct cardstate *cs;
drivers/isdn/i4l/isdn_tty.c +1 -2
@@ -1413,8 +1413,7 @@ isdn_tty_tiocmset(struct tty_struct *tty, }static int -isdn_tty_ioctl (struct tty_struct *tty,struct file *file, -uint cmd,ulong arg) +isdn_tty_ioctl (struct tty_struct *tty,uint cmd,ulong arg) {modem_info *info = (modem_info *) tty->driver_data;int retval;
drivers/net/usb/hso.c +1 -1
@@ -1730,7 +1730,7 @@ static int hso_serial_tiocmset(struct tty_struct *tty, USB_CTRL_SET_TIMEOUT); } -static int hso_serial_ioctl (struct tty_struct *tty,struct file *file, +static int hso_serial_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct hso_serial *serial =get_serial_by_tty (tty);
drivers/tty/n_gsm.c +1 -1
@@ -2672,7 +2672,7 @@ static int gsmtty_tiocmset(struct tty_struct *tty, } -static int gsmtty_ioctl (struct tty_struct *tty,struct file *filp, +static int gsmtty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {return -ENOIOCTLCMD ;
drivers/tty/pty.c +2 -2
@@ -334,7 +334,7 @@ free_mem_out:return -ENOMEM ; } -static int pty_bsd_ioctl (struct tty_struct *tty,struct file *file, +static int pty_bsd_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {switch (cmd) {
@@ -489,7 +489,7 @@ static struct ctl_table pty_root_table[] = { }; -static int pty_unix98_ioctl (struct tty_struct *tty,struct file *file, +static int pty_unix98_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {switch (cmd) {
drivers/tty/serial/68328serial.c +1 -1
@@ -945,7 +945,7 @@ static void send_break(struct m68k_serial * info, unsigned int duration)local_irq_restore (flags); } -static int rs_ioctl (struct tty_struct *tty,struct file * file, +static int rs_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {int error;
drivers/tty/serial/68360serial.c +1 -1
@@ -1405,7 +1405,7 @@ static int rs_360_get_icount(struct tty_struct *tty,return 0 ; } -static int rs_360_ioctl (struct tty_struct *tty,struct file * file, +static int rs_360_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {int error;
drivers/tty/serial/crisv10.c +1 -1
@@ -3647,7 +3647,7 @@ rs_tiocmget(struct tty_struct *tty)static int -rs_ioctl (struct tty_struct *tty,struct file * file, +rs_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct e100_serial * info = (struct e100_serial *)tty->driver_data;
drivers/tty/serial/serial_core.c +2 -2
@@ -1099,7 +1099,7 @@ static int uart_get_icount(struct tty_struct *tty,* Called via sys_ioctl. We can use spin_lock_irq() here. */ static int -uart_ioctl (struct tty_struct *tty,struct file *filp,unsigned int cmd, +uart_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct uart_state *state = tty->driver_data;
@@ -1152,7 +1152,7 @@ uart_ioctl(struct tty_struct *tty, struct file *filp, unsigned int cmd,mutex_lock (&port->mutex); -if (tty_hung_up_p (filp)) { +if (tty->flags & (1 <<TTY_IO_ERROR )) { ret = -EIO ; goto out_up; }
drivers/tty/tty_io.c +2 -2
@@ -2676,7 +2676,7 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)break ; }if (tty->ops->ioctl) { - retval = (tty->ops->ioctl)(tty, file, cmd, arg); + retval = (tty->ops->ioctl)(tty, cmd, arg);if (retval != -ENOIOCTLCMD )return retval; }
@@ -2704,7 +2704,7 @@ static long tty_compat_ioctl(struct file *file, unsigned int cmd,return -EINVAL ;if (tty->ops->compat_ioctl) { - retval = (tty->ops->compat_ioctl)(tty, file, cmd, arg); + retval = (tty->ops->compat_ioctl)(tty, cmd, arg);if (retval != -ENOIOCTLCMD )return retval; }
drivers/tty/vt/vt_ioctl.c +3 -3
@@ -528,7 +528,7 @@ do_unimap_ioctl(int cmd, struct unimapdesc __user *user_ud, int perm, struct vc_* We handle the console-specific ioctl's here. We allow the * capability to modify any console, not just the fg_console. */ -int vt_ioctl (struct tty_struct *tty,struct file * file, +int vt_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct vc_data *vc = tty->driver_data;
@@ -1524,7 +1524,7 @@ compat_unimap_ioctl(unsigned int cmd, struct compat_unimapdesc __user *user_ud,return 0 ; } -long vt_compat_ioctl (struct tty_struct *tty,struct file * file, +long vt_compat_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct vc_data *vc = tty->driver_data;
@@ -1610,7 +1610,7 @@ out: fallback:tty_unlock (); -return vt_ioctl (tty, file, cmd, arg); +return vt_ioctl (tty, cmd, arg); }
drivers/usb/class/cdc-acm.c +1 -1
@@ -813,7 +813,7 @@ static int acm_tty_tiocmset(struct tty_struct *tty,return acm_set_control (acm, acm->ctrlout = newctrl); } -static int acm_tty_ioctl (struct tty_struct *tty,struct file *file, +static int acm_tty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct acm *acm = tty->driver_data;
drivers/usb/serial/usb-serial.c +1 -1
@@ -406,7 +406,7 @@ static void serial_unthrottle(struct tty_struct *tty) port->serial->type->unthrottle (tty); } -static int serial_ioctl (struct tty_struct *tty,struct file *file, +static int serial_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct usb_serial_port *port = tty->driver_data;
include/linux/tty.h +1 -1
@@ -584,7 +584,7 @@ extern int pcxe_open(struct tty_struct *tty, struct file *filp);/* vt.c */ -extern int vt_ioctl (struct tty_struct *tty,struct file *file, +extern int vt_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg); extern long vt_compat_ioctl(struct tty_struct *tty, struct file * file,
include/linux/tty_driver.h +4 -5
@@ -98,8 +98,7 @@* * Note: Do not call this function directly, call tty_write_room * -* int (*ioctl)(struct tty_struct *tty, struct file * file, -* unsigned int cmd, unsigned long arg); +* int (*ioctl)(struct tty_struct *tty, unsigned int cmd, unsigned long arg); * * This routine allows the tty driver to implement * device-specific ioctls. If the ioctl number passed in cmd
@@ -107,7 +106,7 @@* * Optional * -* long (*compat_ioctl)(struct tty_struct *tty, struct file * file, +* long (*compat_ioctl)(struct tty_struct *tty,, * unsigned int cmd, unsigned long arg); * * implement ioctl processing for 32 bit process on 64 bit system
@@ -256,9 +255,9 @@ struct tty_operations {void (*flush_chars)(struct tty_struct *tty);int (*write_room)(struct tty_struct *tty);int (*chars_in_buffer)(struct tty_struct *tty); -int (*ioctl)(struct tty_struct *tty,struct file * file, +int (*ioctl)(struct tty_struct *tty,unsigned int cmd,unsigned long arg); -long (*compat_ioctl)(struct tty_struct *tty,struct file * file, +long (*compat_ioctl)(struct tty_struct *tty,unsigned int cmd,unsigned long arg);void (*set_termios)(struct tty_struct *tty,struct ktermios * old);void (*throttle)(struct tty_struct * tty);
include/net/irda/ircomm_tty.h +1 -1
@@ -123,7 +123,7 @@ void ircomm_tty_check_modem_status(struct ircomm_tty_cb *self);extern int ircomm_tty_tiocmget (struct tty_struct *tty);extern int ircomm_tty_tiocmset (struct tty_struct *tty,unsigned int set,unsigned int clear); -extern int ircomm_tty_ioctl (struct tty_struct *tty,struct file *file, +extern int ircomm_tty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg);extern void ircomm_tty_set_termios (struct tty_struct *tty,struct ktermios *old_termios);
net/bluetooth/rfcomm/tty.c +1 -1
@@ -830,7 +830,7 @@ static int rfcomm_tty_write_room(struct tty_struct *tty)return room; } -static int rfcomm_tty_ioctl (struct tty_struct *tty,struct file *filp,unsigned int cmd,unsigned long arg) +static int rfcomm_tty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {BT_DBG ("tty %p cmd 0x%02x" , tty, cmd);
net/irda/ircomm/ircomm_tty_ioctl.c +2 -2
@@ -365,12 +365,12 @@ static int ircomm_tty_set_serial_info(struct ircomm_tty_cb *self, }/* -* Function ircomm_tty_ioctl (tty, file, cmd, arg) +* Function ircomm_tty_ioctl (tty, cmd, arg) * * * */ -int ircomm_tty_ioctl (struct tty_struct *tty,struct file *file, +int ircomm_tty_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) {struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;
Re: [PATCH 4/6] tty: now phase out the ioctl file pointer for good
From: "Luck, Tony" <[email protected]>
Alan missed the ia64 simulator serial driver (because it was hidden in arch/... rather than located under drivers/... where one might expect to find a driver). Drop the "file *" argument from rs_ioctl() in arch/ia64/hp/sim/simserial.c
---
arch/ia64/hp/sim/simserial.c +1 -2
@@ -390,8 +390,7 @@ static void rs_unthrottle(struct tty_struct * tty) } -static int rs_ioctl (struct tty_struct *tty,struct file * file, -unsigned int cmd,unsigned long arg) +static int rs_ioctl (struct tty_struct *tty,unsigned int cmd,unsigned long arg) { if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) && (cmd != TIOCSERCONFIG) && (cmd != TIOCSERGSTRUCT) &&
PATCH 5/6 tty: add a helper for setting termios data from kernel side
In reply to Alan CoxFrom: Alan Cox <[email protected]>
This basically encapsulates the small bit of locking knowledge needed. While we are at it make sure we blow up on any more abusers and unsafe misuses of ioctl for this kind of stuff.
We change the function to return an argument as at some point it needs to honour the POSIX 'I asked for changes but got none of them' error reporting corner case.
---
drivers/tty/tty_ioctl.c | 14 +++++++++----- include/linux/tty.h | 1 + 2 files changed, 10 insertions(+), 5 deletions(-)
drivers/tty/tty_ioctl.c +9 -5
@@ -486,7 +486,7 @@ int tty_termios_hw_change(struct ktermios *a, struct ktermios *b)EXPORT_SYMBOL (tty_termios_hw_change);/** -* change_termios - update termios values +* tty_set_termios - update termios values * @tty: tty to update * @new_termios: desired new value *
@@ -497,7 +497,7 @@ EXPORT_SYMBOL(tty_termios_hw_change);* Locking: termios_mutex */ -static void change_termios (struct tty_struct *tty,struct ktermios *new_termios) +int tty_set_termios (struct tty_struct *tty,struct ktermios *new_termios) {struct ktermios old_termios;struct tty_ldisc *ld;
@@ -553,7 +553,9 @@ static void change_termios(struct tty_struct *tty, struct ktermios *new_termios)tty_ldisc_deref (ld); }mutex_unlock (&tty->termios_mutex); +return 0 ; } +EXPORT_SYMBOL_GPL (tty_set_termios);/** * set_termios - set termios values for a tty
@@ -562,7 +564,7 @@ static void change_termios(struct tty_struct *tty, struct ktermios *new_termios)* @opt: option information * * Helper function to prepare termios data and run necessary other -* functions before using change_termios to do the actual changes. +* functions before using tty_set_termios to do the actual changes. * * Locking: * Called functions take ldisc and termios_mutex locks
@@ -620,7 +622,7 @@ static int set_termios(struct tty_struct *tty, void __user *arg, int opt)return -EINTR ; } -change_termios (tty, &tmp_termios); +tty_set_termios (tty, &tmp_termios);/* FIXME: Arguably if tmp_termios == tty->termios AND the actual requested termios was not tmp_termios then we may
@@ -797,7 +799,7 @@ static int set_sgttyb(struct tty_struct *tty, struct sgttyb __user *sgttyb) termios.c_ospeed);#endif mutex_unlock (&tty->termios_mutex); -change_termios (tty, &termios); +tty_set_termios (tty, &termios); return 0; }#endif
@@ -951,6 +953,8 @@ int tty_mode_ioctl(struct tty_struct *tty, struct file *file,int ret =0 ;struct ktermios kterm; +BUG_ON (file ==NULL ); +if (tty->driver->type ==TTY_DRIVER_TYPE_PTY && tty->driver->subtype ==PTY_TYPE_MASTER ) real_tty = tty->link;
include/linux/tty.h +1 -0
@@ -448,6 +448,7 @@ extern void tty_encode_baud_rate(struct tty_struct *tty, speed_t ibaud, speed_t obaud);extern void tty_termios_copy_hw (struct ktermios *new,struct ktermios *old);extern int tty_termios_hw_change (struct ktermios *a,struct ktermios *b); +extern int tty_set_termios (struct tty_struct *tty,struct ktermios *kt);extern struct tty_ldisc *tty_ldisc_ref (struct tty_struct *);extern void tty_ldisc_deref (struct tty_ldisc *);
PATCH 6/6 hci_ath: Fix the mess in this driver
In reply to Alan CoxFrom: Alan Cox <[email protected]>
Was this exploitable - who knows, but it was certainly totally broken
---
drivers/bluetooth/hci_ath.c | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-)
drivers/bluetooth/hci_ath.c +13 -13
@@ -51,32 +51,32 @@ struct ath_struct {static int ath_wakeup_ar3k (struct tty_struct *tty) { -struct termios settings; -int status = tty->driver->ops->tiocmget (tty,NULL ); +struct ktermios ktermios; +int status = tty->driver->ops->tiocmget (tty);if (status &TIOCM_CTS )return status;/* Disable Automatic RTSCTS */ -n_tty_ioctl_helper (tty,NULL ,TCGETS , (unsigned long )&settings); - settings.c_cflag &= ~CRTSCTS ; -n_tty_ioctl_helper (tty,NULL ,TCSETS , (unsigned long )&settings); +memcpy (&ktermios, tty->termios,sizeof (ktermios)); + ktermios.c_cflag &= ~CRTSCTS ; +tty_set_termios (tty, &ktermios);/* Clear RTS first */ - status = tty->driver->ops->tiocmget (tty,NULL ); - tty->driver->ops->tiocmset (tty,NULL ,0x00 ,TIOCM_RTS ); + status = tty->driver->ops->tiocmget (tty); + tty->driver->ops->tiocmset (tty,0x00 ,TIOCM_RTS );mdelay (20 );/* Set RTS, wake up board */ - status = tty->driver->ops->tiocmget (tty,NULL ); - tty->driver->ops->tiocmset (tty,NULL ,TIOCM_RTS ,0x00 ); + status = tty->driver->ops->tiocmget (tty); + tty->driver->ops->tiocmset (tty,TIOCM_RTS ,0x00 );mdelay (20 ); - status = tty->driver->ops->tiocmget (tty,NULL ); + status = tty->driver->ops->tiocmget (tty); -n_tty_ioctl_helper (tty,NULL ,TCGETS , (unsigned long )&settings); - settings.c_cflag |=CRTSCTS ; -n_tty_ioctl_helper (tty,NULL ,TCSETS , (unsigned long )&settings); +/* Disable Automatic RTSCTS */ + ktermios.c_cflag |=CRTSCTS ; + status =tty_set_termios (tty, &ktermios);return status; }
Quoted 3 lines · Alan Cox
(and then use this to fix the holes in
hci_ath)The cleanup wants doing anyway but we have a reason for needing to do it.
This all looks great, thanks for doing this work. I'll queue it up in a few days, unless there are any objections?
thanks,
greg k-h
Quoted 3 lines · Alan Cox
(and then use this to fix the holes in
hci_ath)The cleanup wants doing anyway but we have a reason for needing to do it.
All now applied, including a build fix that you missed :)
thanks,
greg k-h