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:
@@ -4,6 +4,7 @@
|
||||
#
|
||||
|
||||
obj-$(CONFIG_USB_ADUTUX) += adutux.o
|
||||
obj-$(CONFIG_USB_APPLEDISPLAY) += appledisplay.o
|
||||
obj-$(CONFIG_USB_AUERSWALD) += auerswald.o
|
||||
obj-$(CONFIG_USB_CYPRESS_CY7C63)+= cypress_cy7c63.o
|
||||
obj-$(CONFIG_USB_CYTHERM) += cytherm.o
|
||||
|
@@ -216,10 +216,7 @@ static int appledisplay_probe(struct usb_interface *iface,
|
||||
iface_desc = iface->cur_altsetting;
|
||||
for (i = 0; i < iface_desc->desc.bNumEndpoints; i++) {
|
||||
endpoint = &iface_desc->endpoint[i].desc;
|
||||
if (!int_in_endpointAddr &&
|
||||
(endpoint->bEndpointAddress & USB_DIR_IN) &&
|
||||
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
|
||||
USB_ENDPOINT_XFER_INT)) {
|
||||
if (!int_in_endpointAddr && usb_endpoint_is_int_in(endpoint)) {
|
||||
/* we found an interrupt in endpoint */
|
||||
int_in_endpointAddr = endpoint->bEndpointAddress;
|
||||
break;
|
||||
|
@@ -704,9 +704,7 @@ static void auerbuf_free (pauerbuf_t bp)
|
||||
{
|
||||
kfree(bp->bufp);
|
||||
kfree(bp->dr);
|
||||
if (bp->urbp) {
|
||||
usb_free_urb(bp->urbp);
|
||||
}
|
||||
usb_free_urb(bp->urbp);
|
||||
kfree(bp);
|
||||
}
|
||||
|
||||
@@ -1155,8 +1153,7 @@ static void auerswald_int_release (pauerswald_t cp)
|
||||
dbg ("auerswald_int_release");
|
||||
|
||||
/* stop the int endpoint */
|
||||
if (cp->inturbp)
|
||||
usb_kill_urb (cp->inturbp);
|
||||
usb_kill_urb (cp->inturbp);
|
||||
|
||||
/* deallocate memory */
|
||||
auerswald_int_free (cp);
|
||||
|
@@ -53,13 +53,12 @@ static void __exit emi26_exit (void);
|
||||
static int emi26_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request)
|
||||
{
|
||||
int result;
|
||||
unsigned char *buffer = kmalloc (length, GFP_KERNEL);
|
||||
unsigned char *buffer = kmemdup(data, length, GFP_KERNEL);
|
||||
|
||||
if (!buffer) {
|
||||
err("emi26: kmalloc(%d) failed.", length);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memcpy (buffer, data, length);
|
||||
/* Note: usb_control_msg returns negative value on error or length of the
|
||||
* data that was written! */
|
||||
result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300);
|
||||
|
@@ -61,13 +61,12 @@ static void __exit emi62_exit (void);
|
||||
static int emi62_writememory (struct usb_device *dev, int address, unsigned char *data, int length, __u8 request)
|
||||
{
|
||||
int result;
|
||||
unsigned char *buffer = kmalloc (length, GFP_KERNEL);
|
||||
unsigned char *buffer = kmemdup(data, length, GFP_KERNEL);
|
||||
|
||||
if (!buffer) {
|
||||
err("emi62: kmalloc(%d) failed.", length);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memcpy (buffer, data, length);
|
||||
/* Note: usb_control_msg returns negative value on error or length of the
|
||||
* data that was written! */
|
||||
result = usb_control_msg (dev, usb_sndctrlpipe(dev, 0), request, 0x40, address, 0, buffer, length, 300);
|
||||
|
@@ -272,7 +272,7 @@ void ftdi_elan_gone_away(struct platform_device *pdev)
|
||||
|
||||
|
||||
EXPORT_SYMBOL_GPL(ftdi_elan_gone_away);
|
||||
void ftdi_release_platform_dev(struct device *dev)
|
||||
static void ftdi_release_platform_dev(struct device *dev)
|
||||
{
|
||||
dev->parent = NULL;
|
||||
}
|
||||
@@ -1399,14 +1399,6 @@ static int ftdi_elan_read_reg(struct usb_ftdi *ftdi, u32 *data)
|
||||
}
|
||||
}
|
||||
|
||||
int usb_ftdi_elan_read_reg(struct platform_device *pdev, u32 *data)
|
||||
{
|
||||
struct usb_ftdi *ftdi = platform_device_to_usb_ftdi(pdev);
|
||||
return ftdi_elan_read_reg(ftdi, data);
|
||||
}
|
||||
|
||||
|
||||
EXPORT_SYMBOL_GPL(usb_ftdi_elan_read_reg);
|
||||
static int ftdi_elan_read_config(struct usb_ftdi *ftdi, int config_offset,
|
||||
u8 width, u32 *data)
|
||||
{
|
||||
@@ -2606,10 +2598,7 @@ static int ftdi_elan_probe(struct usb_interface *interface,
|
||||
for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
|
||||
endpoint = &iface_desc->endpoint[i].desc;
|
||||
if (!ftdi->bulk_in_endpointAddr &&
|
||||
((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
|
||||
== USB_DIR_IN) && ((endpoint->bmAttributes &
|
||||
USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK))
|
||||
{
|
||||
usb_endpoint_is_bulk_in(endpoint)) {
|
||||
buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
|
||||
ftdi->bulk_in_size = buffer_size;
|
||||
ftdi->bulk_in_endpointAddr = endpoint->bEndpointAddress;
|
||||
@@ -2622,10 +2611,7 @@ static int ftdi_elan_probe(struct usb_interface *interface,
|
||||
}
|
||||
}
|
||||
if (!ftdi->bulk_out_endpointAddr &&
|
||||
((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
|
||||
== USB_DIR_OUT) && ((endpoint->bmAttributes &
|
||||
USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK))
|
||||
{
|
||||
usb_endpoint_is_bulk_out(endpoint)) {
|
||||
ftdi->bulk_out_endpointAddr =
|
||||
endpoint->bEndpointAddress;
|
||||
}
|
||||
|
@@ -125,12 +125,12 @@ static DEFINE_MUTEX(disconnect_mutex);
|
||||
|
||||
static int idmouse_create_image(struct usb_idmouse *dev)
|
||||
{
|
||||
int bytes_read = 0;
|
||||
int bulk_read = 0;
|
||||
int result = 0;
|
||||
int bytes_read;
|
||||
int bulk_read;
|
||||
int result;
|
||||
|
||||
memcpy(dev->bulk_in_buffer, HEADER, sizeof(HEADER)-1);
|
||||
bytes_read += sizeof(HEADER)-1;
|
||||
bytes_read = sizeof(HEADER)-1;
|
||||
|
||||
/* reset the device and set a fast blink rate */
|
||||
result = ftip_command(dev, FTIP_RELEASE, 0, 0);
|
||||
@@ -208,9 +208,9 @@ static inline void idmouse_delete(struct usb_idmouse *dev)
|
||||
|
||||
static int idmouse_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
struct usb_idmouse *dev = NULL;
|
||||
struct usb_idmouse *dev;
|
||||
struct usb_interface *interface;
|
||||
int result = 0;
|
||||
int result;
|
||||
|
||||
/* prevent disconnects */
|
||||
mutex_lock(&disconnect_mutex);
|
||||
@@ -305,7 +305,7 @@ static ssize_t idmouse_read(struct file *file, char __user *buffer, size_t count
|
||||
loff_t * ppos)
|
||||
{
|
||||
struct usb_idmouse *dev;
|
||||
int result = 0;
|
||||
int result;
|
||||
|
||||
dev = (struct usb_idmouse *) file->private_data;
|
||||
|
||||
@@ -329,7 +329,7 @@ static int idmouse_probe(struct usb_interface *interface,
|
||||
const struct usb_device_id *id)
|
||||
{
|
||||
struct usb_device *udev = interface_to_usbdev(interface);
|
||||
struct usb_idmouse *dev = NULL;
|
||||
struct usb_idmouse *dev;
|
||||
struct usb_host_interface *iface_desc;
|
||||
struct usb_endpoint_descriptor *endpoint;
|
||||
int result;
|
||||
@@ -350,11 +350,7 @@ static int idmouse_probe(struct usb_interface *interface,
|
||||
|
||||
/* set up the endpoint information - use only the first bulk-in endpoint */
|
||||
endpoint = &iface_desc->endpoint[0].desc;
|
||||
if (!dev->bulk_in_endpointAddr
|
||||
&& (endpoint->bEndpointAddress & USB_DIR_IN)
|
||||
&& ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
|
||||
USB_ENDPOINT_XFER_BULK)) {
|
||||
|
||||
if (!dev->bulk_in_endpointAddr && usb_endpoint_is_bulk_in(endpoint)) {
|
||||
/* we found a bulk in endpoint */
|
||||
dev->orig_bi_size = le16_to_cpu(endpoint->wMaxPacketSize);
|
||||
dev->bulk_in_size = 0x200; /* works _much_ faster */
|
||||
|
@@ -317,12 +317,8 @@ static inline void tower_delete (struct lego_usb_tower *dev)
|
||||
tower_abort_transfers (dev);
|
||||
|
||||
/* free data structures */
|
||||
if (dev->interrupt_in_urb != NULL) {
|
||||
usb_free_urb (dev->interrupt_in_urb);
|
||||
}
|
||||
if (dev->interrupt_out_urb != NULL) {
|
||||
usb_free_urb (dev->interrupt_out_urb);
|
||||
}
|
||||
usb_free_urb(dev->interrupt_in_urb);
|
||||
usb_free_urb(dev->interrupt_out_urb);
|
||||
kfree (dev->read_buffer);
|
||||
kfree (dev->interrupt_in_buffer);
|
||||
kfree (dev->interrupt_out_buffer);
|
||||
@@ -502,15 +498,11 @@ static void tower_abort_transfers (struct lego_usb_tower *dev)
|
||||
if (dev->interrupt_in_running) {
|
||||
dev->interrupt_in_running = 0;
|
||||
mb();
|
||||
if (dev->interrupt_in_urb != NULL && dev->udev) {
|
||||
if (dev->udev)
|
||||
usb_kill_urb (dev->interrupt_in_urb);
|
||||
}
|
||||
}
|
||||
if (dev->interrupt_out_busy) {
|
||||
if (dev->interrupt_out_urb != NULL && dev->udev) {
|
||||
usb_kill_urb (dev->interrupt_out_urb);
|
||||
}
|
||||
}
|
||||
if (dev->interrupt_out_busy && dev->udev)
|
||||
usb_kill_urb(dev->interrupt_out_urb);
|
||||
|
||||
exit:
|
||||
dbg(2, "%s: leave", __FUNCTION__);
|
||||
@@ -898,14 +890,11 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device
|
||||
for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
|
||||
endpoint = &iface_desc->endpoint[i].desc;
|
||||
|
||||
if (((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) &&
|
||||
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) {
|
||||
dev->interrupt_in_endpoint = endpoint;
|
||||
}
|
||||
|
||||
if (((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) &&
|
||||
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) {
|
||||
dev->interrupt_out_endpoint = endpoint;
|
||||
if (usb_endpoint_xfer_int(endpoint)) {
|
||||
if (usb_endpoint_dir_in(endpoint))
|
||||
dev->interrupt_in_endpoint = endpoint;
|
||||
else
|
||||
dev->interrupt_out_endpoint = endpoint;
|
||||
}
|
||||
}
|
||||
if(dev->interrupt_in_endpoint == NULL) {
|
||||
|
@@ -554,7 +554,7 @@ static int interfacekit_probe(struct usb_interface *intf, const struct usb_devic
|
||||
return -ENODEV;
|
||||
|
||||
endpoint = &interface->endpoint[0].desc;
|
||||
if (!(endpoint->bEndpointAddress & 0x80))
|
||||
if (!usb_endpoint_dir_in(endpoint))
|
||||
return -ENODEV;
|
||||
/*
|
||||
* bmAttributes
|
||||
@@ -653,8 +653,7 @@ out2:
|
||||
device_remove_file(kit->dev, &dev_output_attrs[i]);
|
||||
out:
|
||||
if (kit) {
|
||||
if (kit->irq)
|
||||
usb_free_urb(kit->irq);
|
||||
usb_free_urb(kit->irq);
|
||||
if (kit->data)
|
||||
usb_buffer_free(dev, URB_INT_SIZE, kit->data, kit->data_dma);
|
||||
if (kit->dev)
|
||||
|
@@ -324,7 +324,7 @@ static int motorcontrol_probe(struct usb_interface *intf, const struct usb_devic
|
||||
return -ENODEV;
|
||||
|
||||
endpoint = &interface->endpoint[0].desc;
|
||||
if (!(endpoint->bEndpointAddress & 0x80))
|
||||
if (!usb_endpoint_dir_in(endpoint))
|
||||
return -ENODEV;
|
||||
|
||||
/*
|
||||
@@ -393,8 +393,7 @@ out2:
|
||||
device_remove_file(mc->dev, &dev_attrs[i]);
|
||||
out:
|
||||
if (mc) {
|
||||
if (mc->irq)
|
||||
usb_free_urb(mc->irq);
|
||||
usb_free_urb(mc->irq);
|
||||
if (mc->data)
|
||||
usb_buffer_free(dev, URB_INT_SIZE, mc->data, mc->data_dma);
|
||||
if (mc->dev)
|
||||
|
@@ -52,7 +52,7 @@
|
||||
* the kernel to load the "u132-hcd" module.
|
||||
*
|
||||
* The "ftdi-u132" module provides the interface to the inserted
|
||||
* PC card and the "u132-hcd" module uses the API to send and recieve
|
||||
* PC card and the "u132-hcd" module uses the API to send and receive
|
||||
* data. The API features call-backs, so that part of the "u132-hcd"
|
||||
* module code will run in the context of one of the kernel threads
|
||||
* of the "ftdi-u132" module.
|
||||
@@ -95,3 +95,7 @@ int usb_ftdi_elan_edset_setup(struct platform_device *pdev, u8 ed_number,
|
||||
int halted, int skipped, int actual, int non_null));
|
||||
int usb_ftdi_elan_edset_flush(struct platform_device *pdev, u8 ed_number,
|
||||
void *endp);
|
||||
int usb_ftdi_elan_read_pcimem(struct platform_device *pdev, int mem_offset,
|
||||
u8 width, u32 *data);
|
||||
int usb_ftdi_elan_write_pcimem(struct platform_device *pdev, int mem_offset,
|
||||
u8 width, u32 data);
|
||||
|
@@ -138,7 +138,7 @@ get_endpoints (struct usbtest_dev *dev, struct usb_interface *intf)
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
if (e->desc.bEndpointAddress & USB_DIR_IN) {
|
||||
if (usb_endpoint_dir_in(&e->desc)) {
|
||||
if (!in)
|
||||
in = e;
|
||||
} else {
|
||||
@@ -147,7 +147,7 @@ get_endpoints (struct usbtest_dev *dev, struct usb_interface *intf)
|
||||
}
|
||||
continue;
|
||||
try_iso:
|
||||
if (e->desc.bEndpointAddress & USB_DIR_IN) {
|
||||
if (usb_endpoint_dir_in(&e->desc)) {
|
||||
if (!iso_in)
|
||||
iso_in = e;
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user