forked from mirrors/linux
		
	tty: now phase out the ioctl file pointer for good
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. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
		
							parent
							
								
									00a0d0d65b
								
							
						
					
					
						commit
						6caa76b778
					
				
					 41 changed files with 66 additions and 78 deletions
				
			
		| 
						 | 
					@ -1293,7 +1293,7 @@ static int rs_get_icount(struct tty_struct *tty,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct async_struct * info = tty->driver_data;
 | 
						struct async_struct * info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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.
 | 
					 * not recognized by the driver, it should return ENOIOCTLCMD.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
cy_ioctl(struct tty_struct *tty, struct file *file,
 | 
					cy_ioctl(struct tty_struct *tty,
 | 
				
			||||||
	 unsigned int cmd, unsigned long arg)
 | 
						 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct cyclades_port *info = tty->driver_data;
 | 
						struct cyclades_port *info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -175,9 +175,9 @@ static unsigned termios2digi_i(struct channel *ch, unsigned);
 | 
				
			||||||
static unsigned termios2digi_c(struct channel *ch, unsigned);
 | 
					static unsigned termios2digi_c(struct channel *ch, unsigned);
 | 
				
			||||||
static void epcaparam(struct tty_struct *, struct channel *);
 | 
					static void epcaparam(struct tty_struct *, struct channel *);
 | 
				
			||||||
static void receive_data(struct channel *, struct tty_struct *tty);
 | 
					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);
 | 
								unsigned int, unsigned long);
 | 
				
			||||||
static int info_ioctl(struct tty_struct *, struct file *,
 | 
					static int info_ioctl(struct tty_struct *,
 | 
				
			||||||
			unsigned int, unsigned long);
 | 
								unsigned int, unsigned long);
 | 
				
			||||||
static void pc_set_termios(struct tty_struct *, struct ktermios *);
 | 
					static void pc_set_termios(struct tty_struct *, struct ktermios *);
 | 
				
			||||||
static void do_softint(struct work_struct *work);
 | 
					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);
 | 
						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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch (cmd) {
 | 
						switch (cmd) {
 | 
				
			||||||
| 
						 | 
					@ -2057,7 +2057,7 @@ static int pc_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
										unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	digiflow_t dflow;
 | 
						digiflow_t dflow;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -173,7 +173,7 @@ static void ip2_flush_chars(PTTY);
 | 
				
			||||||
static int  ip2_write_room(PTTY);
 | 
					static int  ip2_write_room(PTTY);
 | 
				
			||||||
static int  ip2_chars_in_buf(PTTY);
 | 
					static int  ip2_chars_in_buf(PTTY);
 | 
				
			||||||
static void ip2_flush_buffer(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_termios(PTTY, struct ktermios *);
 | 
				
			||||||
static void ip2_set_line_discipline(PTTY);
 | 
					static void ip2_set_line_discipline(PTTY);
 | 
				
			||||||
static void ip2_throttle(PTTY);
 | 
					static void ip2_throttle(PTTY);
 | 
				
			||||||
| 
						 | 
					@ -2127,7 +2127,7 @@ static int ip2_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
/*                                                                            */
 | 
					/*                                                                            */
 | 
				
			||||||
/******************************************************************************/
 | 
					/******************************************************************************/
 | 
				
			||||||
static int
 | 
					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;
 | 
						wait_queue_t wait;
 | 
				
			||||||
	i2ChanStrPtr pCh = DevTable[tty->index];
 | 
						i2ChanStrPtr pCh = DevTable[tty->index];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1167,7 +1167,7 @@ static int isicom_get_serial_info(struct isi_port *port,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
						unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct isi_port *port = tty->driver_data;
 | 
						struct isi_port *port = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -603,7 +603,7 @@ static int	stli_putchar(struct tty_struct *tty, unsigned char ch);
 | 
				
			||||||
static void	stli_flushchars(struct tty_struct *tty);
 | 
					static void	stli_flushchars(struct tty_struct *tty);
 | 
				
			||||||
static int	stli_writeroom(struct tty_struct *tty);
 | 
					static int	stli_writeroom(struct tty_struct *tty);
 | 
				
			||||||
static int	stli_charsinbuffer(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_settermios(struct tty_struct *tty, struct ktermios *old);
 | 
				
			||||||
static void	stli_throttle(struct tty_struct *tty);
 | 
					static void	stli_throttle(struct tty_struct *tty);
 | 
				
			||||||
static void	stli_unthrottle(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);
 | 
								    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 stliport *portp;
 | 
				
			||||||
	struct stlibrd *brdp;
 | 
						struct stlibrd *brdp;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -287,7 +287,7 @@ static void moxa_low_water_check(void __iomem *ofsAddr)
 | 
				
			||||||
 * TTY operations
 | 
					 * 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)
 | 
							      unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct moxa_port *ch = tty->driver_data;
 | 
						struct moxa_port *ch = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1655,7 +1655,7 @@ static int mxser_cflags_changed(struct mxser_port *info, unsigned long arg,
 | 
				
			||||||
	return ret;
 | 
						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)
 | 
							unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct mxser_port *info = tty->driver_data;
 | 
						struct mxser_port *info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1824,7 +1824,7 @@ static int ntty_tiocgicount(struct tty_struct *tty,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
							      unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct port *port = tty->driver_data;
 | 
						struct port *port = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -425,7 +425,7 @@ ipw_tiocmset(struct tty_struct *linux_tty,
 | 
				
			||||||
	return set_control_lines(tty, set, clear);
 | 
						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)
 | 
							     unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ipw_tty *tty = linux_tty->driver_data;
 | 
						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_perform_flush(linux_tty, arg);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return tty_mode_ioctl(linux_tty, file, cmd , arg);
 | 
						return -ENOIOCTLCMD;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int add_tty(int j,
 | 
					static int add_tty(int j,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1236,7 +1236,7 @@ static int rc_get_serial_info(struct riscom_port *port,
 | 
				
			||||||
	return copy_to_user(retinfo, &tmp, sizeof(tmp)) ? -EFAULT : 0;
 | 
						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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct riscom_port *port = tty->driver_data;
 | 
						struct riscom_port *port = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1326,7 +1326,7 @@ static int get_version(struct r_port *info, struct rocket_version __user *retver
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*  IOCTL call handler into the driver */
 | 
					/*  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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct r_port *info = tty->driver_data;
 | 
						struct r_port *info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -133,8 +133,8 @@ static void a2232_hungup(void *ptr);
 | 
				
			||||||
/* END GENERIC_SERIAL PROTOTYPES */
 | 
					/* END GENERIC_SERIAL PROTOTYPES */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Functions that the TTY driver struct expects */
 | 
					/* Functions that the TTY driver struct expects */
 | 
				
			||||||
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);
 | 
									unsigned int cmd, unsigned long arg);
 | 
				
			||||||
static void a2232_throttle(struct tty_struct *tty);
 | 
					static void a2232_throttle(struct tty_struct *tty);
 | 
				
			||||||
static void a2232_unthrottle(struct tty_struct *tty);
 | 
					static void a2232_unthrottle(struct tty_struct *tty);
 | 
				
			||||||
static int  a2232_open(struct tty_struct * tty, struct file * filp);
 | 
					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 ***/
 | 
					/*** END   OF REAL_DRIVER FUNCTIONS ***/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*** BEGIN  FUNCTIONS EXPECTED BY TTY DRIVER STRUCTS ***/
 | 
					/*** 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)
 | 
								unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return -ENOIOCTLCMD;
 | 
						return -ENOIOCTLCMD;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1492,7 +1492,7 @@ get_default_timeout(struct cyclades_port *info, unsigned long __user * value)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
cy_ioctl(struct tty_struct *tty, struct file *file,
 | 
					cy_ioctl(struct tty_struct *tty,
 | 
				
			||||||
	 unsigned int cmd, unsigned long arg)
 | 
						 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct cyclades_port *info = tty->driver_data;
 | 
						struct cyclades_port *info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
									unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct specialix_port *port = tty->driver_data;
 | 
						struct specialix_port *port = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1132,14 +1132,13 @@ static int stl_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
	return 0;
 | 
						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;
 | 
						struct stlport	*portp;
 | 
				
			||||||
	int		rc;
 | 
						int		rc;
 | 
				
			||||||
	void __user *argp = (void __user *)arg;
 | 
						void __user *argp = (void __user *)arg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pr_debug("stl_ioctl(tty=%p,file=%p,cmd=%x,arg=%lx)\n", tty, file, cmd,
 | 
						pr_debug("stl_ioctl(tty=%p,cmd=%x,arg=%lx)\n", tty, cmd, arg);
 | 
				
			||||||
			arg);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	portp = tty->driver_data;
 | 
						portp = tty->driver_data;
 | 
				
			||||||
	if (portp == NULL)
 | 
						if (portp == NULL)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1899,7 +1899,7 @@ static int sx_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
							unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int rc;
 | 
						int rc;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2962,13 +2962,12 @@ static int msgl_get_icount(struct tty_struct *tty,
 | 
				
			||||||
 * Arguments:
 | 
					 * Arguments:
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * 	tty	pointer to tty instance data
 | 
					 * 	tty	pointer to tty instance data
 | 
				
			||||||
 * 	file	pointer to associated file object for device
 | 
					 | 
				
			||||||
 * 	cmd	IOCTL command code
 | 
					 * 	cmd	IOCTL command code
 | 
				
			||||||
 * 	arg	command argument/context
 | 
					 * 	arg	command argument/context
 | 
				
			||||||
 * 	
 | 
					 * 	
 | 
				
			||||||
 * Return Value:	0 if success, otherwise error code
 | 
					 * 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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct mgsl_struct * info = tty->driver_data;
 | 
						struct mgsl_struct * info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -154,7 +154,7 @@ static void flush_buffer(struct tty_struct *tty);
 | 
				
			||||||
static void tx_hold(struct tty_struct *tty);
 | 
					static void tx_hold(struct tty_struct *tty);
 | 
				
			||||||
static void tx_release(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 int  chars_in_buffer(struct tty_struct *tty);
 | 
				
			||||||
static void throttle(struct tty_struct * tty);
 | 
					static void throttle(struct tty_struct * tty);
 | 
				
			||||||
static void unthrottle(struct tty_struct * tty);
 | 
					static void unthrottle(struct tty_struct * tty);
 | 
				
			||||||
| 
						 | 
					@ -1030,13 +1030,12 @@ static void tx_release(struct tty_struct *tty)
 | 
				
			||||||
 * Arguments
 | 
					 * Arguments
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * 	tty	pointer to tty instance data
 | 
					 * 	tty	pointer to tty instance data
 | 
				
			||||||
 * 	file	pointer to associated file object for device
 | 
					 | 
				
			||||||
 * 	cmd	IOCTL command code
 | 
					 * 	cmd	IOCTL command code
 | 
				
			||||||
 * 	arg	command argument/context
 | 
					 * 	arg	command argument/context
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Return 0 if success, otherwise error code
 | 
					 * 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)
 | 
							 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct slgt_info *info = tty->driver_data;
 | 
						struct slgt_info *info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					@ -1200,7 +1199,7 @@ static long set_params32(struct slgt_info *info, struct MGSL_PARAMS32 __user *ne
 | 
				
			||||||
	return 0;
 | 
						return 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)
 | 
								 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct slgt_info *info = tty->driver_data;
 | 
						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_IOCSIF:
 | 
				
			||||||
	case MGSL_IOCSXSYNC:
 | 
						case MGSL_IOCSXSYNC:
 | 
				
			||||||
	case MGSL_IOCSXCTRL:
 | 
						case MGSL_IOCSXCTRL:
 | 
				
			||||||
		rc = ioctl(tty, file, cmd, arg);
 | 
							rc = ioctl(tty, cmd, arg);
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -520,7 +520,7 @@ static void flush_buffer(struct tty_struct *tty);
 | 
				
			||||||
static void tx_hold(struct tty_struct *tty);
 | 
					static void tx_hold(struct tty_struct *tty);
 | 
				
			||||||
static void tx_release(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 int  chars_in_buffer(struct tty_struct *tty);
 | 
				
			||||||
static void throttle(struct tty_struct * tty);
 | 
					static void throttle(struct tty_struct * tty);
 | 
				
			||||||
static void unthrottle(struct tty_struct * tty);
 | 
					static void unthrottle(struct tty_struct * tty);
 | 
				
			||||||
| 
						 | 
					@ -1248,13 +1248,12 @@ static void tx_release(struct tty_struct *tty)
 | 
				
			||||||
 * Arguments:
 | 
					 * Arguments:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * 	tty	pointer to tty instance data
 | 
					 * 	tty	pointer to tty instance data
 | 
				
			||||||
 * 	file	pointer to associated file object for device
 | 
					 | 
				
			||||||
 * 	cmd	IOCTL command code
 | 
					 * 	cmd	IOCTL command code
 | 
				
			||||||
 * 	arg	command argument/context
 | 
					 * 	arg	command argument/context
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Return Value:	0 if success, otherwise error code
 | 
					 * 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)
 | 
							 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	SLMP_INFO *info = tty->driver_data;
 | 
						SLMP_INFO *info = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -144,7 +144,7 @@ static int tpk_write_room(struct tty_struct *tty)
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * TTY operations ioctl function.
 | 
					 * 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)
 | 
								unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ttyprintk_port *tpkp = tty->driver_data;
 | 
						struct ttyprintk_port *tpkp = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -75,7 +75,7 @@ static void scc_hungup(void  *ptr);
 | 
				
			||||||
static void scc_close(void  *ptr);
 | 
					static void scc_close(void  *ptr);
 | 
				
			||||||
static int scc_chars_in_buffer(void * ptr);
 | 
					static int scc_chars_in_buffer(void * ptr);
 | 
				
			||||||
static int scc_open(struct tty_struct * tty, struct file * filp);
 | 
					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);
 | 
					                     unsigned int cmd, unsigned long arg);
 | 
				
			||||||
static void scc_throttle(struct tty_struct *tty);
 | 
					static void scc_throttle(struct tty_struct *tty);
 | 
				
			||||||
static void scc_unthrottle(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)
 | 
							     unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return -ENOIOCTLCMD;
 | 
						return -ENOIOCTLCMD;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1219,16 +1219,10 @@ static int capinc_tty_chars_in_buffer(struct tty_struct *tty)
 | 
				
			||||||
	return mp->outbytes;
 | 
						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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int error = 0;
 | 
						return -ENOIOCTLCMD;
 | 
				
			||||||
	switch (cmd) {
 | 
					 | 
				
			||||||
	default:
 | 
					 | 
				
			||||||
		error = n_tty_ioctl_helper(tty, file, cmd, arg);
 | 
					 | 
				
			||||||
		break;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return error;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void capinc_tty_set_termios(struct tty_struct *tty, struct ktermios * old)
 | 
					static void capinc_tty_set_termios(struct tty_struct *tty, struct ktermios * old)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 int  if_open(struct tty_struct *tty, struct file *filp);
 | 
				
			||||||
static void if_close(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);
 | 
							     unsigned int cmd, unsigned long arg);
 | 
				
			||||||
static int  if_write_room(struct tty_struct *tty);
 | 
					static int  if_write_room(struct tty_struct *tty);
 | 
				
			||||||
static int  if_chars_in_buffer(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);
 | 
						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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct cardstate *cs;
 | 
						struct cardstate *cs;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1413,8 +1413,7 @@ isdn_tty_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
isdn_tty_ioctl(struct tty_struct *tty, struct file *file,
 | 
					isdn_tty_ioctl(struct tty_struct *tty, uint cmd, ulong arg)
 | 
				
			||||||
	       uint cmd, ulong arg)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	modem_info *info = (modem_info *) tty->driver_data;
 | 
						modem_info *info = (modem_info *) tty->driver_data;
 | 
				
			||||||
	int retval;
 | 
						int retval;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1730,7 +1730,7 @@ static int hso_serial_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
			       USB_CTRL_SET_TIMEOUT);
 | 
								       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)
 | 
								    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct hso_serial *serial =  get_serial_by_tty(tty);
 | 
						struct hso_serial *serial =  get_serial_by_tty(tty);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2671,7 +2671,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)
 | 
								unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return -ENOIOCTLCMD;
 | 
						return -ENOIOCTLCMD;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -334,7 +334,7 @@ static int pty_install(struct tty_driver *driver, struct tty_struct *tty)
 | 
				
			||||||
	return -ENOMEM;
 | 
						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)
 | 
								 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch (cmd) {
 | 
						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)
 | 
								    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch (cmd) {
 | 
						switch (cmd) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -945,7 +945,7 @@ static void send_break(struct m68k_serial * info, unsigned int duration)
 | 
				
			||||||
        local_irq_restore(flags);
 | 
					        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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int error;
 | 
						int error;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1405,7 +1405,7 @@ static int rs_360_get_icount(struct tty_struct *tty,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
							    unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int error;
 | 
						int error;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3647,7 +3647,7 @@ rs_tiocmget(struct tty_struct *tty)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
rs_ioctl(struct tty_struct *tty, struct file * file,
 | 
					rs_ioctl(struct tty_struct *tty,
 | 
				
			||||||
	 unsigned int cmd, unsigned long arg)
 | 
						 unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct e100_serial * info = (struct e100_serial *)tty->driver_data;
 | 
						struct e100_serial * info = (struct e100_serial *)tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1099,7 +1099,7 @@ static int uart_get_icount(struct tty_struct *tty,
 | 
				
			||||||
 * Called via sys_ioctl.  We can use spin_lock_irq() here.
 | 
					 * Called via sys_ioctl.  We can use spin_lock_irq() here.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static int
 | 
					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)
 | 
						   unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct uart_state *state = tty->driver_data;
 | 
						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);
 | 
						mutex_lock(&port->mutex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (tty_hung_up_p(filp)) {
 | 
						if (tty->flags & (1 << TTY_IO_ERROR)) {
 | 
				
			||||||
		ret = -EIO;
 | 
							ret = -EIO;
 | 
				
			||||||
		goto out_up;
 | 
							goto out_up;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2676,7 +2676,7 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (tty->ops->ioctl) {
 | 
						if (tty->ops->ioctl) {
 | 
				
			||||||
		retval = (tty->ops->ioctl)(tty, file, cmd, arg);
 | 
							retval = (tty->ops->ioctl)(tty, cmd, arg);
 | 
				
			||||||
		if (retval != -ENOIOCTLCMD)
 | 
							if (retval != -ENOIOCTLCMD)
 | 
				
			||||||
			return retval;
 | 
								return retval;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -2704,7 +2704,7 @@ static long tty_compat_ioctl(struct file *file, unsigned int cmd,
 | 
				
			||||||
		return -EINVAL;
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (tty->ops->compat_ioctl) {
 | 
						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)
 | 
							if (retval != -ENOIOCTLCMD)
 | 
				
			||||||
			return retval;
 | 
								return retval;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -495,7 +495,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
 | 
					 * We handle the console-specific ioctl's here.  We allow the
 | 
				
			||||||
 * capability to modify any console, not just the fg_console. 
 | 
					 * 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)
 | 
						     unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct vc_data *vc = tty->driver_data;
 | 
						struct vc_data *vc = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					@ -1495,7 +1495,7 @@ compat_unimap_ioctl(unsigned int cmd, struct compat_unimapdesc __user *user_ud,
 | 
				
			||||||
	return 0;
 | 
						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)
 | 
						     unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct vc_data *vc = tty->driver_data;
 | 
						struct vc_data *vc = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					@ -1581,7 +1581,7 @@ long vt_compat_ioctl(struct tty_struct *tty, struct file * file,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fallback:
 | 
					fallback:
 | 
				
			||||||
	tty_unlock();
 | 
						tty_unlock();
 | 
				
			||||||
	return vt_ioctl(tty, file, cmd, arg);
 | 
						return vt_ioctl(tty, cmd, arg);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -813,7 +813,7 @@ static int acm_tty_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
	return acm_set_control(acm, acm->ctrlout = newctrl);
 | 
						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)
 | 
										unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct acm *acm = tty->driver_data;
 | 
						struct acm *acm = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -406,7 +406,7 @@ static void serial_unthrottle(struct tty_struct *tty)
 | 
				
			||||||
		port->serial->type->unthrottle(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)
 | 
										unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct usb_serial_port *port = tty->driver_data;
 | 
						struct usb_serial_port *port = tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -584,7 +584,7 @@ extern int pcxe_open(struct tty_struct *tty, struct file *filp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* vt.c */
 | 
					/* 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);
 | 
							    unsigned int cmd, unsigned long arg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern long vt_compat_ioctl(struct tty_struct *tty, struct file * file,
 | 
					extern long vt_compat_ioctl(struct tty_struct *tty, struct file * file,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -98,8 +98,7 @@
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *	Note: Do not call this function directly, call tty_write_room
 | 
					 *	Note: Do not call this function directly, call tty_write_room
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 * int  (*ioctl)(struct tty_struct *tty, struct file * file,
 | 
					 * int  (*ioctl)(struct tty_struct *tty, unsigned int cmd, unsigned long arg);
 | 
				
			||||||
 * 	    unsigned int cmd, unsigned long arg);
 | 
					 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * 	This routine allows the tty driver to implement
 | 
					 * 	This routine allows the tty driver to implement
 | 
				
			||||||
 *	device-specific ioctls.  If the ioctl number passed in cmd
 | 
					 *	device-specific ioctls.  If the ioctl number passed in cmd
 | 
				
			||||||
| 
						 | 
					@ -107,7 +106,7 @@
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *	Optional
 | 
					 *	Optional
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * long (*compat_ioctl)(struct tty_struct *tty, struct file * file,
 | 
					 * long (*compat_ioctl)(struct tty_struct *tty,,
 | 
				
			||||||
 * 	                unsigned int cmd, unsigned long arg);
 | 
					 * 	                unsigned int cmd, unsigned long arg);
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * 	implement ioctl processing for 32 bit process on 64 bit system
 | 
					 * 	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);
 | 
						void (*flush_chars)(struct tty_struct *tty);
 | 
				
			||||||
	int  (*write_room)(struct tty_struct *tty);
 | 
						int  (*write_room)(struct tty_struct *tty);
 | 
				
			||||||
	int  (*chars_in_buffer)(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);
 | 
							    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);
 | 
								     unsigned int cmd, unsigned long arg);
 | 
				
			||||||
	void (*set_termios)(struct tty_struct *tty, struct ktermios * old);
 | 
						void (*set_termios)(struct tty_struct *tty, struct ktermios * old);
 | 
				
			||||||
	void (*throttle)(struct tty_struct * tty);
 | 
						void (*throttle)(struct tty_struct * tty);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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_tiocmget(struct tty_struct *tty);
 | 
				
			||||||
extern int ircomm_tty_tiocmset(struct tty_struct *tty,
 | 
					extern int ircomm_tty_tiocmset(struct tty_struct *tty,
 | 
				
			||||||
			       unsigned int set, unsigned int clear);
 | 
								       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);
 | 
								    unsigned int cmd, unsigned long arg);
 | 
				
			||||||
extern void ircomm_tty_set_termios(struct tty_struct *tty, 
 | 
					extern void ircomm_tty_set_termios(struct tty_struct *tty, 
 | 
				
			||||||
				   struct ktermios *old_termios);
 | 
									   struct ktermios *old_termios);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -830,7 +830,7 @@ static int rfcomm_tty_write_room(struct tty_struct *tty)
 | 
				
			||||||
	return room;
 | 
						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);
 | 
						BT_DBG("tty %p cmd 0x%02x", tty, cmd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
							     unsigned int cmd, unsigned long arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;
 | 
						struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue