Merge tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB patches from Greg Kroah-Hartman: "Here's the big USB pull request for 3.10-rc1. Lots of USB patches here, the majority being USB gadget changes and USB-serial driver cleanups, the rest being ARM build fixes / cleanups, and individual driver updates. We also finally got some chipidea fixes, which have been delayed for a number of kernel releases, as the maintainer has now reappeared. All of these have been in linux-next for a while" * tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits) USB: ehci-msm: USB_MSM_OTG needs USB_PHY USB: OHCI: avoid conflicting platform drivers USB: OMAP: ISP1301 needs USB_PHY USB: lpc32xx: ISP1301 needs USB_PHY USB: ftdi_sio: enable two UART ports on ST Microconnect Lite usb: phy: tegra: don't call into tegra-ehci directly usb: phy: phy core cannot yet be a module USB: Fix initconst in ehci driver usb-storage: CY7C68300A chips do not support Cypress ATACB USB: serial: option: Added support Olivetti Olicard 145 USB: ftdi_sio: correct ST Micro Connect Lite PIDs ARM: mxs_defconfig: add CONFIG_USB_PHY ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY usb: phy: remove exported function from __init section usb: gadget: zero: put function instances on unbind usb: gadget: f_sourcesink.c: correct a copy-paste misnomer usb: gadget: cdc2: fix error return code in cdc_do_config() usb: gadget: multi: fix error return code in rndis_do_config() usb: gadget: f_obex: fix error return code in obex_bind() USB: storage: convert to use module_usb_driver() ...
This commit is contained in:
@@ -62,7 +62,6 @@ struct moschip_port {
|
||||
__u8 shadowMCR; /* last MCR value received */
|
||||
__u8 shadowMSR; /* last MSR value received */
|
||||
char open;
|
||||
struct async_icount icount;
|
||||
struct usb_serial_port *port; /* loop back to the owner */
|
||||
struct urb *write_urb_pool[NUM_URBS];
|
||||
};
|
||||
@@ -1071,9 +1070,6 @@ static int mos7720_open(struct tty_struct *tty, struct usb_serial_port *port)
|
||||
dev_err(&port->dev, "%s - Error %d submitting read urb\n",
|
||||
__func__, response);
|
||||
|
||||
/* initialize our icount structure */
|
||||
memset(&(mos7720_port->icount), 0x00, sizeof(mos7720_port->icount));
|
||||
|
||||
/* initialize our port settings */
|
||||
mos7720_port->shadowMCR = UART_MCR_OUT2; /* Must set to enable ints! */
|
||||
|
||||
@@ -1140,16 +1136,9 @@ static void mos7720_close(struct usb_serial_port *port)
|
||||
usb_kill_urb(port->write_urb);
|
||||
usb_kill_urb(port->read_urb);
|
||||
|
||||
mutex_lock(&serial->disc_mutex);
|
||||
/* these commands must not be issued if the device has
|
||||
* been disconnected */
|
||||
if (!serial->disconnected) {
|
||||
write_mos_reg(serial, port->number - port->serial->minor,
|
||||
MCR, 0x00);
|
||||
write_mos_reg(serial, port->number - port->serial->minor,
|
||||
IER, 0x00);
|
||||
}
|
||||
mutex_unlock(&serial->disc_mutex);
|
||||
write_mos_reg(serial, port->number - port->serial->minor, MCR, 0x00);
|
||||
write_mos_reg(serial, port->number - port->serial->minor, IER, 0x00);
|
||||
|
||||
mos7720_port->open = 0;
|
||||
}
|
||||
|
||||
@@ -1799,33 +1788,6 @@ static int mos7720_tiocmset(struct tty_struct *tty,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mos7720_get_icount(struct tty_struct *tty,
|
||||
struct serial_icounter_struct *icount)
|
||||
{
|
||||
struct usb_serial_port *port = tty->driver_data;
|
||||
struct moschip_port *mos7720_port;
|
||||
struct async_icount cnow;
|
||||
|
||||
mos7720_port = usb_get_serial_port_data(port);
|
||||
cnow = mos7720_port->icount;
|
||||
|
||||
icount->cts = cnow.cts;
|
||||
icount->dsr = cnow.dsr;
|
||||
icount->rng = cnow.rng;
|
||||
icount->dcd = cnow.dcd;
|
||||
icount->rx = cnow.rx;
|
||||
icount->tx = cnow.tx;
|
||||
icount->frame = cnow.frame;
|
||||
icount->overrun = cnow.overrun;
|
||||
icount->parity = cnow.parity;
|
||||
icount->brk = cnow.brk;
|
||||
icount->buf_overrun = cnow.buf_overrun;
|
||||
|
||||
dev_dbg(&port->dev, "%s TIOCGICOUNT RX=%d, TX=%d\n", __func__,
|
||||
icount->rx, icount->tx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_modem_info(struct moschip_port *mos7720_port, unsigned int cmd,
|
||||
unsigned int __user *value)
|
||||
{
|
||||
@@ -1901,8 +1863,6 @@ static int mos7720_ioctl(struct tty_struct *tty,
|
||||
{
|
||||
struct usb_serial_port *port = tty->driver_data;
|
||||
struct moschip_port *mos7720_port;
|
||||
struct async_icount cnow;
|
||||
struct async_icount cprev;
|
||||
|
||||
mos7720_port = usb_get_serial_port_data(port);
|
||||
if (mos7720_port == NULL)
|
||||
@@ -1927,27 +1887,6 @@ static int mos7720_ioctl(struct tty_struct *tty,
|
||||
dev_dbg(&port->dev, "%s TIOCGSERIAL\n", __func__);
|
||||
return get_serial_info(mos7720_port,
|
||||
(struct serial_struct __user *)arg);
|
||||
|
||||
case TIOCMIWAIT:
|
||||
dev_dbg(&port->dev, "%s TIOCMIWAIT\n", __func__);
|
||||
cprev = mos7720_port->icount;
|
||||
while (1) {
|
||||
if (signal_pending(current))
|
||||
return -ERESTARTSYS;
|
||||
cnow = mos7720_port->icount;
|
||||
if (cnow.rng == cprev.rng && cnow.dsr == cprev.dsr &&
|
||||
cnow.dcd == cprev.dcd && cnow.cts == cprev.cts)
|
||||
return -EIO; /* no change => error */
|
||||
if (((arg & TIOCM_RNG) && (cnow.rng != cprev.rng)) ||
|
||||
((arg & TIOCM_DSR) && (cnow.dsr != cprev.dsr)) ||
|
||||
((arg & TIOCM_CD) && (cnow.dcd != cprev.dcd)) ||
|
||||
((arg & TIOCM_CTS) && (cnow.cts != cprev.cts))) {
|
||||
return 0;
|
||||
}
|
||||
cprev = cnow;
|
||||
}
|
||||
/* NOTREACHED */
|
||||
break;
|
||||
}
|
||||
|
||||
return -ENOIOCTLCMD;
|
||||
@@ -2103,7 +2042,6 @@ static struct usb_serial_driver moschip7720_2port_driver = {
|
||||
.ioctl = mos7720_ioctl,
|
||||
.tiocmget = mos7720_tiocmget,
|
||||
.tiocmset = mos7720_tiocmset,
|
||||
.get_icount = mos7720_get_icount,
|
||||
.set_termios = mos7720_set_termios,
|
||||
.write = mos7720_write,
|
||||
.write_room = mos7720_write_room,
|
||||
|
Reference in New Issue
Block a user