Commit 04e9d11b authored by YAMANE Toshiaki's avatar YAMANE Toshiaki Committed by Greg Kroah-Hartman

staging/serqt_usb2: refactor qt_open() in serqt_usb2.c

Modified to eliminate the deep nesting.
Signed-off-by: default avatarYAMANE Toshiaki <yamanetoshi@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bbbd527b
...@@ -840,6 +840,31 @@ static void qt_release(struct usb_serial *serial) ...@@ -840,6 +840,31 @@ static void qt_release(struct usb_serial *serial)
} }
static void qt_submit_urb_from_open(struct usb_serial *serial,
struct usb_serial_port *port)
{
int result;
struct usb_serial_port *port0 = serial->port[0];
/* set up interrupt urb */
usb_fill_int_urb(port0->interrupt_in_urb,
serial->dev,
usb_rcvintpipe(serial->dev,
port0->interrupt_in_endpointAddress),
port0->interrupt_in_buffer,
port0->interrupt_in_urb->transfer_buffer_length,
qt_interrupt_callback, serial,
port0->interrupt_in_urb->interval);
result = usb_submit_urb(port0->interrupt_in_urb,
GFP_KERNEL);
if (result) {
dev_err(&port->dev,
"%s - Error %d submitting interrupt urb\n",
__func__, result);
}
}
static int qt_open(struct tty_struct *tty, static int qt_open(struct tty_struct *tty,
struct usb_serial_port *port) struct usb_serial_port *port)
{ {
...@@ -900,30 +925,8 @@ static int qt_open(struct tty_struct *tty, ...@@ -900,30 +925,8 @@ static int qt_open(struct tty_struct *tty,
/* Check to see if we've set up our endpoint info yet */ /* Check to see if we've set up our endpoint info yet */
if (port0->open_ports == 1) { if (port0->open_ports == 1) {
if (serial->port[0]->interrupt_in_buffer == NULL) { if (serial->port[0]->interrupt_in_buffer == NULL)
/* set up interrupt urb */ qt_submit_urb_from_open(serial, port);
usb_fill_int_urb(serial->port[0]->interrupt_in_urb,
serial->dev,
usb_rcvintpipe(serial->dev,
serial->port[0]->interrupt_in_endpointAddress),
serial->port[0]->interrupt_in_buffer,
serial->port[0]->
interrupt_in_urb->transfer_buffer_length,
qt_interrupt_callback, serial,
serial->port[0]->
interrupt_in_urb->interval);
result =
usb_submit_urb(serial->port[0]->interrupt_in_urb,
GFP_KERNEL);
if (result) {
dev_err(&port->dev,
"%s - Error %d submitting "
"interrupt urb\n", __func__, result);
}
}
} }
dev_dbg(&port->dev, "port number is %d\n", port->number); dev_dbg(&port->dev, "port number is %d\n", port->number);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment