usbserial's mutex, open_count and tty_struct pointer in
struct usb_serial_port have been obsolated by the Serial Core port.
Note that was necessary to change some bits in the generic code to
make it compile.
Signed-off-by: Luiz Fernando N. Capitulino <[EMAIL PROTECTED]>
---
drivers/usb/serial/generic.c | 6 +++---
drivers/usb/serial/usb-serial.c | 6 ------
drivers/usb/serial/usb-serial.h | 9 ---------
3 files changed, 3 insertions(+), 18 deletions(-)
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index c62cc28..9ae4764 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -117,8 +117,8 @@ int usb_serial_generic_open (struct usb_
/* force low_latency on so that our tty_push actually forces the data
through,
otherwise it is scheduled, and with high data rates (like with OHCI)
data
can get lost. */
- if (port->tty)
- port->tty->low_latency = 1;
+ if (port->uart_port.info->tty)
+ port->uart_port.info->tty->low_latency = 1;
/* if we have a bulk interrupt, start reading from it */
if (serial->num_bulk_in) {
@@ -266,7 +266,7 @@ void usb_serial_generic_read_bulk_callba
usb_serial_debug_data(debug, &port->dev, __FUNCTION__,
urb->actual_length, data);
- tty = port->tty;
+ tty = port->uart_port.info->tty;
if (tty && urb->actual_length) {
tty_buffer_request_room(tty, urb->actual_length);
tty_insert_flip_string(tty, data, urb->actual_length);
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index f4db7a9..fcfc4dc 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -28,7 +28,6 @@ #include <linux/serial_core.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/spinlock.h>
-#include <linux/mutex.h>
#include <linux/list.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h>
@@ -118,9 +117,6 @@ static void destroy_serial(struct usb_se
/* return the minor range that this device had */
return_serial(serial);
- for (i = 0; i < serial->num_ports; ++i)
- serial->port[i]->open_count = 0;
-
/* the ports are cleaned up and released in port_release() */
for (i = 0; i < serial->num_ports; ++i)
if (serial->port[i]->dev.parent != NULL) {
@@ -390,7 +386,6 @@ static struct usb_serial * create_serial
serial->dev = usb_get_dev(dev);
serial->type = driver;
serial->interface = interface;
- kref_init(&serial->kref);
return serial;
}
@@ -627,7 +622,6 @@ #endif
port->number = i + serial->minor;
port->serial = serial;
spin_lock_init(&port->lock);
- mutex_init(&port->mutex);
INIT_WORK(&port->work, usb_serial_port_softint, port);
serial->port[i] = port;
}
diff --git a/drivers/usb/serial/usb-serial.h b/drivers/usb/serial/usb-serial.h
index b273efa..bc7d5e0 100644
--- a/drivers/usb/serial/usb-serial.h
+++ b/drivers/usb/serial/usb-serial.h
@@ -15,8 +15,6 @@ #ifndef __LINUX_USB_SERIAL_H
#define __LINUX_USB_SERIAL_H
#include <linux/config.h>
-#include <linux/kref.h>
-#include <linux/mutex.h>
#include <linux/serial_core.h>
#define SERIAL_TTY_MAJOR 188 /* Nice legal number now */
@@ -35,8 +33,6 @@ #define RELEVANT_IFLAG(iflag) (iflag & (
* @serial: pointer back to the struct usb_serial owner of this port.
* @tty: pointer to the corresponding tty for this port.
* @lock: spinlock to grab when updating portions of this structure.
- * @mutex: mutex used to synchronize serial_open() and serial_close()
- * access for this port.
* @number: the number of the port (the minor number).
* @interrupt_in_buffer: pointer to the interrupt in buffer for this port.
* @interrupt_in_urb: pointer to the interrupt in struct urb for this port.
@@ -58,7 +54,6 @@ #define RELEVANT_IFLAG(iflag) (iflag & (
* port.
* @write_wait: a wait_queue_head_t used by the port.
* @work: work queue entry for the line discipline waking up.
- * @open_count: number of times this port has been opened.
*
* This structure is used by the usb-serial core and drivers for the specific
* ports of a device.
@@ -66,9 +61,7 @@ #define RELEVANT_IFLAG(iflag) (iflag & (
struct usb_serial_port {
struct uart_port uart_port;
struct usb_serial * serial;
- struct tty_struct * tty;
spinlock_t lock;
- struct mutex mutex;
unsigned char number;
unsigned char * interrupt_in_buffer;
@@ -93,7 +86,6 @@ struct usb_serial_port {
wait_queue_head_t write_wait;
struct work_struct work;
- int open_count;
struct device dev;
};
#define to_usb_serial_port(d) container_of(d, struct usb_serial_port, dev)
@@ -138,7 +130,6 @@ struct usb_serial {
char num_bulk_in;
char num_bulk_out;
struct usb_serial_port * port[MAX_NUM_PORTS];
- struct kref kref;
void * private;
};
#define to_usb_serial(d) container_of(d, struct usb_serial, kref)
--
1.3.3.g0825d
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel