[PATCH 43/97] USB: symbolserial: log the ioctl commands

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>
---
 drivers/usb/serial/symbolserial.c |   59 +++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/serial/symbolserial.c b/drivers/usb/serial/symbolserial.c
index c5990fd..8b3cbc8 100644
--- a/drivers/usb/serial/symbolserial.c
+++ b/drivers/usb/serial/symbolserial.c
@@ -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)
-- 
1.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux