USB: symbolserial: log the ioctl commands

We need to figure out what userspace programs are expecting from this
driver, so log them so we can try to get it right.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Greg Kroah-Hartman 2009-03-20 20:26:30 -07:00
parent 68b44eaed5
commit 3d940b7d27

View file

@ -205,6 +205,62 @@ static void symbol_unthrottle(struct tty_struct *tty)
__func__, result);
}
static int symbol_ioctl(struct tty_struct *tty, struct file *file,
unsigned int cmd, unsigned long arg)
{
struct usb_serial_port *port = tty->driver_data;
struct device *dev = &port->dev;
/*
* Right now we need to figure out what commands
* most userspace tools want to see for this driver,
* so just log the things.
*/
switch (cmd) {
case TIOCSERGETLSR:
dev_info(dev, "%s: TIOCSERGETLSR\n", __func__);
break;
case TIOCGSERIAL:
dev_info(dev, "%s: TIOCGSERIAL\n", __func__);
break;
case TIOCMIWAIT:
dev_info(dev, "%s: TIOCMIWAIT\n", __func__);
break;
case TIOCGICOUNT:
dev_info(dev, "%s: TIOCGICOUNT\n", __func__);
break;
default:
dev_info(dev, "%s: unknown (%d)\n", __func__, cmd);
}
return -ENOIOCTLCMD;
}
static int symbol_tiocmget(struct tty_struct *tty, struct file *file)
{
struct usb_serial_port *port = tty->driver_data;
struct device *dev = &port->dev;
/* TODO */
/* probably just need to shadow whatever was sent to us here */
dev_info(dev, "%s\n", __func__);
return 0;
}
static int symbol_tiocmset(struct tty_struct *tty, struct file *file,
unsigned int set, unsigned int clear)
{
struct usb_serial_port *port = tty->driver_data;
struct device *dev = &port->dev;
/* TODO */
/* probably just need to shadow whatever was sent to us here */
dev_info(dev, "%s\n", __func__);
return 0;
}
static int symbol_startup(struct usb_serial *serial)
{
struct symbol_private *priv;
@ -311,6 +367,9 @@ static struct usb_serial_driver symbol_device = {
.shutdown = symbol_shutdown,
.throttle = symbol_throttle,
.unthrottle = symbol_unthrottle,
.ioctl = symbol_ioctl,
.tiocmget = symbol_tiocmget,
.tiocmset = symbol_tiocmset,
};
static int __init symbol_init(void)