diff options
| author | Jens Axboe <jens.axboe@oracle.com> | 2010-05-21 15:27:26 -0400 |
|---|---|---|
| committer | Jens Axboe <jens.axboe@oracle.com> | 2010-05-21 15:27:26 -0400 |
| commit | ee9a3607fb03e804ddf624544105f4e34260c380 (patch) | |
| tree | ce41b6e0fa10982a306f6c142a92dbf3c9961284 /drivers/usb/class | |
| parent | b492e95be0ae672922f4734acf3f5d35c30be948 (diff) | |
| parent | d515e86e639890b33a09390d062b0831664f04a2 (diff) | |
Merge branch 'master' into for-2.6.35
Conflicts:
fs/ext3/fsync.c
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/usb/class')
| -rw-r--r-- | drivers/usb/class/cdc-acm.c | 25 | ||||
| -rw-r--r-- | drivers/usb/class/cdc-acm.h | 4 | ||||
| -rw-r--r-- | drivers/usb/class/cdc-wdm.c | 38 | ||||
| -rw-r--r-- | drivers/usb/class/usblp.c | 2 |
4 files changed, 36 insertions, 33 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index be6331e2c276..0c2f14ff9696 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
| @@ -892,7 +892,7 @@ static void acm_write_buffers_free(struct acm *acm) | |||
| 892 | struct usb_device *usb_dev = interface_to_usbdev(acm->control); | 892 | struct usb_device *usb_dev = interface_to_usbdev(acm->control); |
| 893 | 893 | ||
| 894 | for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) | 894 | for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) |
| 895 | usb_buffer_free(usb_dev, acm->writesize, wb->buf, wb->dmah); | 895 | usb_free_coherent(usb_dev, acm->writesize, wb->buf, wb->dmah); |
| 896 | } | 896 | } |
| 897 | 897 | ||
| 898 | static void acm_read_buffers_free(struct acm *acm) | 898 | static void acm_read_buffers_free(struct acm *acm) |
| @@ -901,8 +901,8 @@ static void acm_read_buffers_free(struct acm *acm) | |||
| 901 | int i, n = acm->rx_buflimit; | 901 | int i, n = acm->rx_buflimit; |
| 902 | 902 | ||
| 903 | for (i = 0; i < n; i++) | 903 | for (i = 0; i < n; i++) |
| 904 | usb_buffer_free(usb_dev, acm->readsize, | 904 | usb_free_coherent(usb_dev, acm->readsize, |
| 905 | acm->rb[i].base, acm->rb[i].dma); | 905 | acm->rb[i].base, acm->rb[i].dma); |
| 906 | } | 906 | } |
| 907 | 907 | ||
| 908 | /* Little helper: write buffers allocate */ | 908 | /* Little helper: write buffers allocate */ |
| @@ -912,13 +912,13 @@ static int acm_write_buffers_alloc(struct acm *acm) | |||
| 912 | struct acm_wb *wb; | 912 | struct acm_wb *wb; |
| 913 | 913 | ||
| 914 | for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) { | 914 | for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) { |
| 915 | wb->buf = usb_buffer_alloc(acm->dev, acm->writesize, GFP_KERNEL, | 915 | wb->buf = usb_alloc_coherent(acm->dev, acm->writesize, GFP_KERNEL, |
| 916 | &wb->dmah); | 916 | &wb->dmah); |
| 917 | if (!wb->buf) { | 917 | if (!wb->buf) { |
| 918 | while (i != 0) { | 918 | while (i != 0) { |
| 919 | --i; | 919 | --i; |
| 920 | --wb; | 920 | --wb; |
| 921 | usb_buffer_free(acm->dev, acm->writesize, | 921 | usb_free_coherent(acm->dev, acm->writesize, |
| 922 | wb->buf, wb->dmah); | 922 | wb->buf, wb->dmah); |
| 923 | } | 923 | } |
| 924 | return -ENOMEM; | 924 | return -ENOMEM; |
| @@ -1177,7 +1177,7 @@ made_compressed_probe: | |||
| 1177 | tty_port_init(&acm->port); | 1177 | tty_port_init(&acm->port); |
| 1178 | acm->port.ops = &acm_port_ops; | 1178 | acm->port.ops = &acm_port_ops; |
| 1179 | 1179 | ||
| 1180 | buf = usb_buffer_alloc(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma); | 1180 | buf = usb_alloc_coherent(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma); |
| 1181 | if (!buf) { | 1181 | if (!buf) { |
| 1182 | dev_dbg(&intf->dev, "out of memory (ctrl buffer alloc)\n"); | 1182 | dev_dbg(&intf->dev, "out of memory (ctrl buffer alloc)\n"); |
| 1183 | goto alloc_fail2; | 1183 | goto alloc_fail2; |
| @@ -1210,11 +1210,11 @@ made_compressed_probe: | |||
| 1210 | for (i = 0; i < num_rx_buf; i++) { | 1210 | for (i = 0; i < num_rx_buf; i++) { |
| 1211 | struct acm_rb *rb = &(acm->rb[i]); | 1211 | struct acm_rb *rb = &(acm->rb[i]); |
| 1212 | 1212 | ||
| 1213 | rb->base = usb_buffer_alloc(acm->dev, readsize, | 1213 | rb->base = usb_alloc_coherent(acm->dev, readsize, |
| 1214 | GFP_KERNEL, &rb->dma); | 1214 | GFP_KERNEL, &rb->dma); |
| 1215 | if (!rb->base) { | 1215 | if (!rb->base) { |
| 1216 | dev_dbg(&intf->dev, | 1216 | dev_dbg(&intf->dev, |
| 1217 | "out of memory (read bufs usb_buffer_alloc)\n"); | 1217 | "out of memory (read bufs usb_alloc_coherent)\n"); |
| 1218 | goto alloc_fail7; | 1218 | goto alloc_fail7; |
| 1219 | } | 1219 | } |
| 1220 | } | 1220 | } |
| @@ -1306,7 +1306,7 @@ alloc_fail7: | |||
| 1306 | alloc_fail5: | 1306 | alloc_fail5: |
| 1307 | acm_write_buffers_free(acm); | 1307 | acm_write_buffers_free(acm); |
| 1308 | alloc_fail4: | 1308 | alloc_fail4: |
| 1309 | usb_buffer_free(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); | 1309 | usb_free_coherent(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); |
| 1310 | alloc_fail2: | 1310 | alloc_fail2: |
| 1311 | kfree(acm); | 1311 | kfree(acm); |
| 1312 | alloc_fail: | 1312 | alloc_fail: |
| @@ -1356,8 +1356,8 @@ static void acm_disconnect(struct usb_interface *intf) | |||
| 1356 | stop_data_traffic(acm); | 1356 | stop_data_traffic(acm); |
| 1357 | 1357 | ||
| 1358 | acm_write_buffers_free(acm); | 1358 | acm_write_buffers_free(acm); |
| 1359 | usb_buffer_free(usb_dev, acm->ctrlsize, acm->ctrl_buffer, | 1359 | usb_free_coherent(usb_dev, acm->ctrlsize, acm->ctrl_buffer, |
| 1360 | acm->ctrl_dma); | 1360 | acm->ctrl_dma); |
| 1361 | acm_read_buffers_free(acm); | 1361 | acm_read_buffers_free(acm); |
| 1362 | 1362 | ||
| 1363 | if (!acm->combined_interfaces) | 1363 | if (!acm->combined_interfaces) |
| @@ -1542,6 +1542,9 @@ static const struct usb_device_id acm_ids[] = { | |||
| 1542 | { USB_DEVICE(0x1bbb, 0x0003), /* Alcatel OT-I650 */ | 1542 | { USB_DEVICE(0x1bbb, 0x0003), /* Alcatel OT-I650 */ |
| 1543 | .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ | 1543 | .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ |
| 1544 | }, | 1544 | }, |
| 1545 | { USB_DEVICE(0x1576, 0x03b1), /* Maretron USB100 */ | ||
| 1546 | .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ | ||
| 1547 | }, | ||
| 1545 | 1548 | ||
| 1546 | /* Nokia S60 phones expose two ACM channels. The first is | 1549 | /* Nokia S60 phones expose two ACM channels. The first is |
| 1547 | * a modem and is picked up by the standard AT-command | 1550 | * a modem and is picked up by the standard AT-command |
diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h index 4a8e87ec6ce9..5eeb570b9a61 100644 --- a/drivers/usb/class/cdc-acm.h +++ b/drivers/usb/class/cdc-acm.h | |||
| @@ -124,8 +124,8 @@ struct acm { | |||
| 124 | unsigned char clocal; /* termios CLOCAL */ | 124 | unsigned char clocal; /* termios CLOCAL */ |
| 125 | unsigned int ctrl_caps; /* control capabilities from the class specific header */ | 125 | unsigned int ctrl_caps; /* control capabilities from the class specific header */ |
| 126 | unsigned int susp_count; /* number of suspended interfaces */ | 126 | unsigned int susp_count; /* number of suspended interfaces */ |
| 127 | int combined_interfaces:1; /* control and data collapsed */ | 127 | unsigned int combined_interfaces:1; /* control and data collapsed */ |
| 128 | int is_int_ep:1; /* interrupt endpoints contrary to spec used */ | 128 | unsigned int is_int_ep:1; /* interrupt endpoints contrary to spec used */ |
| 129 | u8 bInterval; | 129 | u8 bInterval; |
| 130 | struct acm_wb *delayed_wb; /* write queued for a device about to be woken */ | 130 | struct acm_wb *delayed_wb; /* write queued for a device about to be woken */ |
| 131 | }; | 131 | }; |
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 189141ca4e05..094c76b5de17 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c | |||
| @@ -276,14 +276,14 @@ static void free_urbs(struct wdm_device *desc) | |||
| 276 | 276 | ||
| 277 | static void cleanup(struct wdm_device *desc) | 277 | static void cleanup(struct wdm_device *desc) |
| 278 | { | 278 | { |
| 279 | usb_buffer_free(interface_to_usbdev(desc->intf), | 279 | usb_free_coherent(interface_to_usbdev(desc->intf), |
| 280 | desc->wMaxPacketSize, | 280 | desc->wMaxPacketSize, |
| 281 | desc->sbuf, | 281 | desc->sbuf, |
| 282 | desc->validity->transfer_dma); | 282 | desc->validity->transfer_dma); |
| 283 | usb_buffer_free(interface_to_usbdev(desc->intf), | 283 | usb_free_coherent(interface_to_usbdev(desc->intf), |
| 284 | desc->wMaxCommand, | 284 | desc->wMaxCommand, |
| 285 | desc->inbuf, | 285 | desc->inbuf, |
| 286 | desc->response->transfer_dma); | 286 | desc->response->transfer_dma); |
| 287 | kfree(desc->orq); | 287 | kfree(desc->orq); |
| 288 | kfree(desc->irq); | 288 | kfree(desc->irq); |
| 289 | kfree(desc->ubuf); | 289 | kfree(desc->ubuf); |
| @@ -705,17 +705,17 @@ next_desc: | |||
| 705 | if (!desc->ubuf) | 705 | if (!desc->ubuf) |
| 706 | goto err; | 706 | goto err; |
| 707 | 707 | ||
| 708 | desc->sbuf = usb_buffer_alloc(interface_to_usbdev(intf), | 708 | desc->sbuf = usb_alloc_coherent(interface_to_usbdev(intf), |
| 709 | desc->wMaxPacketSize, | 709 | desc->wMaxPacketSize, |
| 710 | GFP_KERNEL, | 710 | GFP_KERNEL, |
| 711 | &desc->validity->transfer_dma); | 711 | &desc->validity->transfer_dma); |
| 712 | if (!desc->sbuf) | 712 | if (!desc->sbuf) |
| 713 | goto err; | 713 | goto err; |
| 714 | 714 | ||
| 715 | desc->inbuf = usb_buffer_alloc(interface_to_usbdev(intf), | 715 | desc->inbuf = usb_alloc_coherent(interface_to_usbdev(intf), |
| 716 | desc->bMaxPacketSize0, | 716 | desc->bMaxPacketSize0, |
| 717 | GFP_KERNEL, | 717 | GFP_KERNEL, |
| 718 | &desc->response->transfer_dma); | 718 | &desc->response->transfer_dma); |
| 719 | if (!desc->inbuf) | 719 | if (!desc->inbuf) |
| 720 | goto err2; | 720 | goto err2; |
| 721 | 721 | ||
| @@ -742,15 +742,15 @@ out: | |||
| 742 | return rv; | 742 | return rv; |
| 743 | err3: | 743 | err3: |
| 744 | usb_set_intfdata(intf, NULL); | 744 | usb_set_intfdata(intf, NULL); |
| 745 | usb_buffer_free(interface_to_usbdev(desc->intf), | 745 | usb_free_coherent(interface_to_usbdev(desc->intf), |
| 746 | desc->bMaxPacketSize0, | 746 | desc->bMaxPacketSize0, |
| 747 | desc->inbuf, | 747 | desc->inbuf, |
| 748 | desc->response->transfer_dma); | 748 | desc->response->transfer_dma); |
| 749 | err2: | 749 | err2: |
| 750 | usb_buffer_free(interface_to_usbdev(desc->intf), | 750 | usb_free_coherent(interface_to_usbdev(desc->intf), |
| 751 | desc->wMaxPacketSize, | 751 | desc->wMaxPacketSize, |
| 752 | desc->sbuf, | 752 | desc->sbuf, |
| 753 | desc->validity->transfer_dma); | 753 | desc->validity->transfer_dma); |
| 754 | err: | 754 | err: |
| 755 | free_urbs(desc); | 755 | free_urbs(desc); |
| 756 | kfree(desc->ubuf); | 756 | kfree(desc->ubuf); |
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index 93b5f85d7ceb..2250095db0a0 100644 --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c | |||
| @@ -27,7 +27,7 @@ | |||
| 27 | * v0.11 - add proto_bias option (Pete Zaitcev) | 27 | * v0.11 - add proto_bias option (Pete Zaitcev) |
| 28 | * v0.12 - add hpoj.sourceforge.net ioctls (David Paschal) | 28 | * v0.12 - add hpoj.sourceforge.net ioctls (David Paschal) |
| 29 | * v0.13 - alloc space for statusbuf (<status> not on stack); | 29 | * v0.13 - alloc space for statusbuf (<status> not on stack); |
| 30 | * use usb_buffer_alloc() for read buf & write buf; | 30 | * use usb_alloc_coherent() for read buf & write buf; |
| 31 | * none - Maintained in Linux kernel after v0.13 | 31 | * none - Maintained in Linux kernel after v0.13 |
| 32 | */ | 32 | */ |
| 33 | 33 | ||
