You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/infiniband/core/iwcm.c drivers/net/chelsio/cxgb2.c drivers/net/wireless/bcm43xx/bcm43xx_main.c drivers/net/wireless/prism54/islpci_eth.c drivers/usb/core/hub.h drivers/usb/input/hid-core.c net/core/netpoll.c Fix up merge failures with Linus's head and fix new compilation failures. Signed-Off-By: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -554,6 +554,17 @@ config USB_SERIAL_OMNINET
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called omninet.
|
||||
|
||||
config USB_SERIAL_DEBUG
|
||||
tristate "USB Debugging Device"
|
||||
depends on USB_SERIAL
|
||||
help
|
||||
Say Y here if you have a USB debugging device used to recieve
|
||||
debugging data from another machine. The most common of these
|
||||
devices is the NetChip TurboCONNECT device.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called usb-debug.
|
||||
|
||||
config USB_EZUSB
|
||||
bool
|
||||
depends on USB_SERIAL_KEYSPAN_PDA || USB_SERIAL_XIRCOM || USB_SERIAL_KEYSPAN || USB_SERIAL_WHITEHEAT
|
||||
|
||||
@@ -18,6 +18,7 @@ obj-$(CONFIG_USB_SERIAL_BELKIN) += belkin_sa.o
|
||||
obj-$(CONFIG_USB_SERIAL_CP2101) += cp2101.o
|
||||
obj-$(CONFIG_USB_SERIAL_CYBERJACK) += cyberjack.o
|
||||
obj-$(CONFIG_USB_SERIAL_CYPRESS_M8) += cypress_m8.o
|
||||
obj-$(CONFIG_USB_SERIAL_DEBUG) += usb_debug.o
|
||||
obj-$(CONFIG_USB_SERIAL_DIGI_ACCELEPORT) += digi_acceleport.o
|
||||
obj-$(CONFIG_USB_SERIAL_EDGEPORT) += io_edgeport.o
|
||||
obj-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += io_ti.o
|
||||
|
||||
@@ -272,8 +272,11 @@ static void aircable_read(struct work_struct *work)
|
||||
*/
|
||||
tty = port->tty;
|
||||
|
||||
if (!tty)
|
||||
if (!tty) {
|
||||
schedule_work(&priv->rx_work);
|
||||
err("%s - No tty available", __FUNCTION__);
|
||||
return ;
|
||||
}
|
||||
|
||||
count = min(64, serial_buf_data_avail(priv->rx_buf));
|
||||
|
||||
@@ -307,9 +310,7 @@ static int aircable_probe(struct usb_serial *serial,
|
||||
|
||||
for (i = 0; i < iface_desc->desc.bNumEndpoints; i++) {
|
||||
endpoint = &iface_desc->endpoint[i].desc;
|
||||
if (((endpoint->bEndpointAddress & 0x80) == 0x00) &&
|
||||
((endpoint->bmAttributes & 3) == 0x02)) {
|
||||
/* we found our bulk out endpoint */
|
||||
if (usb_endpoint_is_bulk_out(endpoint)) {
|
||||
dbg("found bulk out on endpoint %d", i);
|
||||
++num_bulk_out;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
static struct usb_device_id id_table [] = {
|
||||
{ USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
|
||||
{ USB_DEVICE(0x1410, 0x1110) }, /* Novatel Wireless Merlin CDMA */
|
||||
{ USB_DEVICE(0x1410, 0x1430) }, /* Novatel Merlin XU870 HSDPA/3G */
|
||||
{ USB_DEVICE(0x1410, 0x1100) }, /* ExpressCard34 Qualcomm 3G CDMA */
|
||||
{ },
|
||||
};
|
||||
|
||||
@@ -85,10 +85,9 @@ static int ark3116_attach(struct usb_serial *serial)
|
||||
int i;
|
||||
|
||||
for (i = 0; i < serial->num_ports; ++i) {
|
||||
priv = kmalloc(sizeof (struct ark3116_private), GFP_KERNEL);
|
||||
priv = kzalloc(sizeof(struct ark3116_private), GFP_KERNEL);
|
||||
if (!priv)
|
||||
goto cleanup;
|
||||
memset(priv, 0x00, sizeof (struct ark3116_private));
|
||||
spin_lock_init(&priv->lock);
|
||||
|
||||
usb_set_serial_port_data(serial->port[i], priv);
|
||||
|
||||
@@ -166,19 +166,17 @@ static int usb_console_setup(struct console *co, char *options)
|
||||
if (serial->type->set_termios) {
|
||||
/* build up a fake tty structure so that the open call has something
|
||||
* to look at to get the cflag value */
|
||||
tty = kmalloc (sizeof (*tty), GFP_KERNEL);
|
||||
tty = kzalloc(sizeof(*tty), GFP_KERNEL);
|
||||
if (!tty) {
|
||||
err ("no more memory");
|
||||
return -ENOMEM;
|
||||
}
|
||||
termios = kmalloc (sizeof (*termios), GFP_KERNEL);
|
||||
termios = kzalloc(sizeof(*termios), GFP_KERNEL);
|
||||
if (!termios) {
|
||||
err ("no more memory");
|
||||
kfree (tty);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset (tty, 0x00, sizeof(*tty));
|
||||
memset (termios, 0x00, sizeof(*termios));
|
||||
termios->c_cflag = cflag;
|
||||
tty->termios = termios;
|
||||
port->tty = tty;
|
||||
|
||||
@@ -1684,15 +1684,14 @@ static int __init cypress_init(void)
|
||||
|
||||
info(DRIVER_DESC " " DRIVER_VERSION);
|
||||
return 0;
|
||||
failed_usb_register:
|
||||
usb_deregister(&cypress_driver);
|
||||
failed_ca42v2_register:
|
||||
usb_serial_deregister(&cypress_ca42v2_device);
|
||||
failed_hidcom_register:
|
||||
usb_serial_deregister(&cypress_hidcom_device);
|
||||
failed_em_register:
|
||||
usb_serial_deregister(&cypress_earthmate_device);
|
||||
|
||||
failed_usb_register:
|
||||
usb_serial_deregister(&cypress_ca42v2_device);
|
||||
failed_ca42v2_register:
|
||||
usb_serial_deregister(&cypress_hidcom_device);
|
||||
failed_hidcom_register:
|
||||
usb_serial_deregister(&cypress_earthmate_device);
|
||||
failed_em_register:
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
* to TASK_RUNNING will be lost and write_chan's subsequent call to
|
||||
* schedule() will never return (unless it catches a signal).
|
||||
* This race condition occurs because write_bulk_callback() (and thus
|
||||
* the wakeup) are called asynchonously from an interrupt, rather than
|
||||
* the wakeup) are called asynchronously from an interrupt, rather than
|
||||
* from the scheduler. We can avoid the race by calling the wakeup
|
||||
* from the scheduler queue and that's our fix: Now, at the end of
|
||||
* write_bulk_callback() we queue up a wakeup call on the scheduler
|
||||
|
||||
@@ -31,12 +31,11 @@ int ezusb_writememory (struct usb_serial *serial, int address, unsigned char *da
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
transfer_buffer = kmalloc (length, GFP_KERNEL);
|
||||
transfer_buffer = kmemdup(data, length, GFP_KERNEL);
|
||||
if (!transfer_buffer) {
|
||||
dev_err(&serial->dev->dev, "%s - kmalloc(%d) failed.\n", __FUNCTION__, length);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memcpy (transfer_buffer, data, length);
|
||||
result = usb_control_msg (serial->dev, usb_sndctrlpipe(serial->dev, 0), bRequest, 0x40, address, 0, transfer_buffer, length, 3000);
|
||||
kfree (transfer_buffer);
|
||||
return result;
|
||||
|
||||
@@ -1390,8 +1390,7 @@ static void ftdi_close (struct usb_serial_port *port, struct file *filp)
|
||||
flush_scheduled_work();
|
||||
|
||||
/* shutdown our bulk read */
|
||||
if (port->read_urb)
|
||||
usb_kill_urb(port->read_urb);
|
||||
usb_kill_urb(port->read_urb);
|
||||
} /* ftdi_close */
|
||||
|
||||
|
||||
|
||||
@@ -1523,12 +1523,11 @@ static int garmin_attach (struct usb_serial *serial)
|
||||
|
||||
dbg("%s", __FUNCTION__);
|
||||
|
||||
garmin_data_p = kmalloc (sizeof(struct garmin_data), GFP_KERNEL);
|
||||
garmin_data_p = kzalloc(sizeof(struct garmin_data), GFP_KERNEL);
|
||||
if (garmin_data_p == NULL) {
|
||||
dev_err(&port->dev, "%s - Out of memory\n", __FUNCTION__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset (garmin_data_p, 0, sizeof(struct garmin_data));
|
||||
init_timer(&garmin_data_p->timer);
|
||||
spin_lock_init(&garmin_data_p->lock);
|
||||
INIT_LIST_HEAD(&garmin_data_p->pktlist);
|
||||
|
||||
@@ -1038,9 +1038,7 @@ static void edge_close (struct usb_serial_port *port, struct file * filp)
|
||||
edge_port->open = FALSE;
|
||||
edge_port->openPending = FALSE;
|
||||
|
||||
if (edge_port->write_urb) {
|
||||
usb_kill_urb(edge_port->write_urb);
|
||||
}
|
||||
usb_kill_urb(edge_port->write_urb);
|
||||
|
||||
if (edge_port->write_urb) {
|
||||
/* if this urb had a transfer buffer already (old transfer) free it */
|
||||
|
||||
@@ -206,10 +206,9 @@ static int ipw_open(struct usb_serial_port *port, struct file *filp)
|
||||
|
||||
dbg("%s", __FUNCTION__);
|
||||
|
||||
buf_flow_init = kmalloc(16, GFP_KERNEL);
|
||||
buf_flow_init = kmemdup(buf_flow_static, 16, GFP_KERNEL);
|
||||
if (!buf_flow_init)
|
||||
return -ENOMEM;
|
||||
memcpy(buf_flow_init, buf_flow_static, 16);
|
||||
|
||||
if (port->tty)
|
||||
port->tty->low_latency = 1;
|
||||
|
||||
@@ -2306,22 +2306,16 @@ static void keyspan_shutdown (struct usb_serial *serial)
|
||||
}
|
||||
|
||||
/* Now free them */
|
||||
if (s_priv->instat_urb)
|
||||
usb_free_urb(s_priv->instat_urb);
|
||||
if (s_priv->glocont_urb)
|
||||
usb_free_urb(s_priv->glocont_urb);
|
||||
usb_free_urb(s_priv->instat_urb);
|
||||
usb_free_urb(s_priv->glocont_urb);
|
||||
for (i = 0; i < serial->num_ports; ++i) {
|
||||
port = serial->port[i];
|
||||
p_priv = usb_get_serial_port_data(port);
|
||||
if (p_priv->inack_urb)
|
||||
usb_free_urb(p_priv->inack_urb);
|
||||
if (p_priv->outcont_urb)
|
||||
usb_free_urb(p_priv->outcont_urb);
|
||||
usb_free_urb(p_priv->inack_urb);
|
||||
usb_free_urb(p_priv->outcont_urb);
|
||||
for (j = 0; j < 2; j++) {
|
||||
if (p_priv->in_urbs[j])
|
||||
usb_free_urb(p_priv->in_urbs[j]);
|
||||
if (p_priv->out_urbs[j])
|
||||
usb_free_urb(p_priv->out_urbs[j]);
|
||||
usb_free_urb(p_priv->in_urbs[j]);
|
||||
usb_free_urb(p_priv->out_urbs[j]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -185,13 +185,11 @@ static int kobil_startup (struct usb_serial *serial)
|
||||
|
||||
for (i = 0; i < altsetting->desc.bNumEndpoints; i++) {
|
||||
endpoint = &altsetting->endpoint[i];
|
||||
if (((endpoint->desc.bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) &&
|
||||
((endpoint->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) {
|
||||
if (usb_endpoint_is_int_out(&endpoint->desc)) {
|
||||
dbg("%s Found interrupt out endpoint. Address: %d", __FUNCTION__, endpoint->desc.bEndpointAddress);
|
||||
priv->write_int_endpoint_address = endpoint->desc.bEndpointAddress;
|
||||
}
|
||||
if (((endpoint->desc.bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) &&
|
||||
((endpoint->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) {
|
||||
if (usb_endpoint_is_int_in(&endpoint->desc)) {
|
||||
dbg("%s Found interrupt in endpoint. Address: %d", __FUNCTION__, endpoint->desc.bEndpointAddress);
|
||||
priv->read_int_endpoint_address = endpoint->desc.bEndpointAddress;
|
||||
}
|
||||
@@ -355,8 +353,7 @@ static void kobil_close (struct usb_serial_port *port, struct file *filp)
|
||||
usb_free_urb( port->write_urb );
|
||||
port->write_urb = NULL;
|
||||
}
|
||||
if (port->interrupt_in_urb)
|
||||
usb_kill_urb(port->interrupt_in_urb);
|
||||
usb_kill_urb(port->interrupt_in_urb);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -358,10 +358,8 @@ static int mct_u232_startup (struct usb_serial *serial)
|
||||
/* Puh, that's dirty */
|
||||
port = serial->port[0];
|
||||
rport = serial->port[1];
|
||||
if (port->read_urb) {
|
||||
/* No unlinking, it wasn't submitted yet. */
|
||||
usb_free_urb(port->read_urb);
|
||||
}
|
||||
/* No unlinking, it wasn't submitted yet. */
|
||||
usb_free_urb(port->read_urb);
|
||||
port->read_urb = rport->interrupt_in_urb;
|
||||
rport->interrupt_in_urb = NULL;
|
||||
port->read_urb->context = port;
|
||||
|
||||
@@ -2596,12 +2596,11 @@ static int mos7840_startup(struct usb_serial *serial)
|
||||
|
||||
/* set up port private structures */
|
||||
for (i = 0; i < serial->num_ports; ++i) {
|
||||
mos7840_port = kmalloc(sizeof(struct moschip_port), GFP_KERNEL);
|
||||
mos7840_port = kzalloc(sizeof(struct moschip_port), GFP_KERNEL);
|
||||
if (mos7840_port == NULL) {
|
||||
err("%s - Out of memory", __FUNCTION__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(mos7840_port, 0, sizeof(struct moschip_port));
|
||||
|
||||
/* Initialize all port interrupt end point to port 0 int endpoint *
|
||||
* Our device has only one interrupt end point comman to all port */
|
||||
|
||||
@@ -95,8 +95,7 @@ static void navman_close(struct usb_serial_port *port, struct file *filp)
|
||||
{
|
||||
dbg("%s - port %d", __FUNCTION__, port->number);
|
||||
|
||||
if (port->interrupt_in_urb)
|
||||
usb_kill_urb(port->interrupt_in_urb);
|
||||
usb_kill_urb(port->interrupt_in_urb);
|
||||
}
|
||||
|
||||
static int navman_write(struct usb_serial_port *port,
|
||||
|
||||
@@ -228,6 +228,7 @@ static int product_5052_count;
|
||||
/* null entry */
|
||||
static struct usb_device_id ti_id_table_3410[1+TI_EXTRA_VID_PID_COUNT+1] = {
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_3410_PRODUCT_ID) },
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_3410_EZ430_ID) },
|
||||
};
|
||||
|
||||
static struct usb_device_id ti_id_table_5052[4+TI_EXTRA_VID_PID_COUNT+1] = {
|
||||
@@ -239,6 +240,7 @@ static struct usb_device_id ti_id_table_5052[4+TI_EXTRA_VID_PID_COUNT+1] = {
|
||||
|
||||
static struct usb_device_id ti_id_table_combined[] = {
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_3410_PRODUCT_ID) },
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_3410_EZ430_ID) },
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_5052_BOOT_PRODUCT_ID) },
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_5152_BOOT_PRODUCT_ID) },
|
||||
{ USB_DEVICE(TI_VENDOR_ID, TI_5052_EEPROM_PRODUCT_ID) },
|
||||
@@ -459,13 +461,12 @@ static int ti_startup(struct usb_serial *serial)
|
||||
|
||||
/* set up port structures */
|
||||
for (i = 0; i < serial->num_ports; ++i) {
|
||||
tport = kmalloc(sizeof(struct ti_port), GFP_KERNEL);
|
||||
tport = kzalloc(sizeof(struct ti_port), GFP_KERNEL);
|
||||
if (tport == NULL) {
|
||||
dev_err(&dev->dev, "%s - out of memory\n", __FUNCTION__);
|
||||
status = -ENOMEM;
|
||||
goto free_tports;
|
||||
}
|
||||
memset(tport, 0, sizeof(struct ti_port));
|
||||
spin_lock_init(&tport->tp_lock);
|
||||
tport->tp_uart_base_addr = (i == 0 ? TI_UART1_BASE_ADDR : TI_UART2_BASE_ADDR);
|
||||
tport->tp_flags = low_latency ? ASYNC_LOW_LATENCY : 0;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
/* Vendor and product ids */
|
||||
#define TI_VENDOR_ID 0x0451
|
||||
#define TI_3410_PRODUCT_ID 0x3410
|
||||
#define TI_3410_EZ430_ID 0xF430 /* TI ez430 development tool */
|
||||
#define TI_5052_BOOT_PRODUCT_ID 0x5052 /* no EEPROM, no firmware */
|
||||
#define TI_5152_BOOT_PRODUCT_ID 0x5152 /* no EEPROM, no firmware */
|
||||
#define TI_5052_EEPROM_PRODUCT_ID 0x505A /* EEPROM, no firmware */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user