diff options
| author | Daniel Mack <daniel@caiaq.de> | 2010-04-12 13:17:25 +0200 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-20 13:21:38 -0700 | 
| commit | 997ea58eb92f9970b8af7aae48800d0ef43b9423 (patch) | |
| tree | 65e021973e5a48ad7290d5be1f441940566468ad | |
| parent | 48679c6d772b1459a2945729e3a1256ac78fcabf (diff) | |
| download | olio-linux-3.10-997ea58eb92f9970b8af7aae48800d0ef43b9423.tar.xz olio-linux-3.10-997ea58eb92f9970b8af7aae48800d0ef43b9423.zip  | |
USB: rename usb_buffer_alloc() and usb_buffer_free() users
For more clearance what the functions actually do,
  usb_buffer_alloc() is renamed to usb_alloc_coherent()
  usb_buffer_free()  is renamed to usb_free_coherent()
They should only be used in code which really needs DMA coherency.
All call sites have been changed accordingly, except for staging
drivers.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Pedro Ribeiro <pedrib@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
51 files changed, 286 insertions, 291 deletions
diff --git a/Documentation/DocBook/writing_usb_driver.tmpl b/Documentation/DocBook/writing_usb_driver.tmpl index eeff19ca831..bd97a13fa5a 100644 --- a/Documentation/DocBook/writing_usb_driver.tmpl +++ b/Documentation/DocBook/writing_usb_driver.tmpl @@ -342,7 +342,7 @@ static inline void skel_delete (struct usb_skel *dev)  {      kfree (dev->bulk_in_buffer);      if (dev->bulk_out_buffer != NULL) -        usb_buffer_free (dev->udev, dev->bulk_out_size, +        usb_free_coherent (dev->udev, dev->bulk_out_size,              dev->bulk_out_buffer,              dev->write_urb->transfer_dma);      usb_free_urb (dev->write_urb); diff --git a/Documentation/usb/dma.txt b/Documentation/usb/dma.txt index cfdcd16e3ab..a37e59cf278 100644 --- a/Documentation/usb/dma.txt +++ b/Documentation/usb/dma.txt @@ -43,10 +43,10 @@ and effects like cache-trashing can impose subtle penalties.    kind of addresses to store in urb->transfer_buffer and urb->transfer_dma.    You'd also set URB_NO_TRANSFER_DMA_MAP in urb->transfer_flags: -	void *usb_buffer_alloc (struct usb_device *dev, size_t size, +	void *usb_alloc_coherent (struct usb_device *dev, size_t size,  		int mem_flags, dma_addr_t *dma); -	void usb_buffer_free (struct usb_device *dev, size_t size, +	void usb_free_coherent (struct usb_device *dev, size_t size,  		void *addr, dma_addr_t dma);    Most drivers should *NOT* be using these primitives; they don't need diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 6a510c9675f..df619756b7a 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -783,12 +783,12 @@ static int hid_alloc_buffers(struct usb_device *dev, struct hid_device *hid)  {  	struct usbhid_device *usbhid = hid->driver_data; -	usbhid->inbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL, +	usbhid->inbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,  			&usbhid->inbuf_dma); -	usbhid->outbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL, +	usbhid->outbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,  			&usbhid->outbuf_dma);  	usbhid->cr = kmalloc(sizeof(*usbhid->cr), GFP_KERNEL); -	usbhid->ctrlbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL, +	usbhid->ctrlbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,  			&usbhid->ctrlbuf_dma);  	if (!usbhid->inbuf || !usbhid->outbuf || !usbhid->cr ||  			!usbhid->ctrlbuf) @@ -843,10 +843,10 @@ static void hid_free_buffers(struct usb_device *dev, struct hid_device *hid)  {  	struct usbhid_device *usbhid = hid->driver_data; -	usb_buffer_free(dev, usbhid->bufsize, usbhid->inbuf, usbhid->inbuf_dma); -	usb_buffer_free(dev, usbhid->bufsize, usbhid->outbuf, usbhid->outbuf_dma); +	usb_free_coherent(dev, usbhid->bufsize, usbhid->inbuf, usbhid->inbuf_dma); +	usb_free_coherent(dev, usbhid->bufsize, usbhid->outbuf, usbhid->outbuf_dma);  	kfree(usbhid->cr); -	usb_buffer_free(dev, usbhid->bufsize, usbhid->ctrlbuf, usbhid->ctrlbuf_dma); +	usb_free_coherent(dev, usbhid->bufsize, usbhid->ctrlbuf, usbhid->ctrlbuf_dma);  }  static int usbhid_parse(struct hid_device *hid) diff --git a/drivers/hid/usbhid/usbkbd.c b/drivers/hid/usbhid/usbkbd.c index bdc7b09e867..bb14c8270af 100644 --- a/drivers/hid/usbhid/usbkbd.c +++ b/drivers/hid/usbhid/usbkbd.c @@ -196,11 +196,11 @@ static int usb_kbd_alloc_mem(struct usb_device *dev, struct usb_kbd *kbd)  		return -1;  	if (!(kbd->led = usb_alloc_urb(0, GFP_KERNEL)))  		return -1; -	if (!(kbd->new = usb_buffer_alloc(dev, 8, GFP_ATOMIC, &kbd->new_dma))) +	if (!(kbd->new = usb_alloc_coherent(dev, 8, GFP_ATOMIC, &kbd->new_dma)))  		return -1;  	if (!(kbd->cr = kmalloc(sizeof(struct usb_ctrlrequest), GFP_KERNEL)))  		return -1; -	if (!(kbd->leds = usb_buffer_alloc(dev, 1, GFP_ATOMIC, &kbd->leds_dma))) +	if (!(kbd->leds = usb_alloc_coherent(dev, 1, GFP_ATOMIC, &kbd->leds_dma)))  		return -1;  	return 0; @@ -210,9 +210,9 @@ static void usb_kbd_free_mem(struct usb_device *dev, struct usb_kbd *kbd)  {  	usb_free_urb(kbd->irq);  	usb_free_urb(kbd->led); -	usb_buffer_free(dev, 8, kbd->new, kbd->new_dma); +	usb_free_coherent(dev, 8, kbd->new, kbd->new_dma);  	kfree(kbd->cr); -	usb_buffer_free(dev, 1, kbd->leds, kbd->leds_dma); +	usb_free_coherent(dev, 1, kbd->leds, kbd->leds_dma);  }  static int usb_kbd_probe(struct usb_interface *iface, diff --git a/drivers/hid/usbhid/usbmouse.c b/drivers/hid/usbhid/usbmouse.c index 72ab4b26809..79b2bf81a05 100644 --- a/drivers/hid/usbhid/usbmouse.c +++ b/drivers/hid/usbhid/usbmouse.c @@ -142,7 +142,7 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i  	if (!mouse || !input_dev)  		goto fail1; -	mouse->data = usb_buffer_alloc(dev, 8, GFP_ATOMIC, &mouse->data_dma); +	mouse->data = usb_alloc_coherent(dev, 8, GFP_ATOMIC, &mouse->data_dma);  	if (!mouse->data)  		goto fail1; @@ -205,7 +205,7 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i  fail3:	  	usb_free_urb(mouse->irq);  fail2:	 -	usb_buffer_free(dev, 8, mouse->data, mouse->data_dma); +	usb_free_coherent(dev, 8, mouse->data, mouse->data_dma);  fail1:	  	input_free_device(input_dev);  	kfree(mouse); @@ -221,7 +221,7 @@ static void usb_mouse_disconnect(struct usb_interface *intf)  		usb_kill_urb(mouse->irq);  		input_unregister_device(mouse->dev);  		usb_free_urb(mouse->irq); -		usb_buffer_free(interface_to_usbdev(intf), 8, mouse->data, mouse->data_dma); +		usb_free_coherent(interface_to_usbdev(intf), 8, mouse->data, mouse->data_dma);  		kfree(mouse);  	}  } diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index 9b3353b404d..c1087ce4cef 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -533,8 +533,8 @@ static int xpad_init_output(struct usb_interface *intf, struct usb_xpad *xpad)  	if (xpad->xtype != XTYPE_XBOX360 && xpad->xtype != XTYPE_XBOX)  		return 0; -	xpad->odata = usb_buffer_alloc(xpad->udev, XPAD_PKT_LEN, -				       GFP_KERNEL, &xpad->odata_dma); +	xpad->odata = usb_alloc_coherent(xpad->udev, XPAD_PKT_LEN, +					 GFP_KERNEL, &xpad->odata_dma);  	if (!xpad->odata)  		goto fail1; @@ -554,7 +554,7 @@ static int xpad_init_output(struct usb_interface *intf, struct usb_xpad *xpad)  	return 0; - fail2:	usb_buffer_free(xpad->udev, XPAD_PKT_LEN, xpad->odata, xpad->odata_dma); + fail2:	usb_free_coherent(xpad->udev, XPAD_PKT_LEN, xpad->odata, xpad->odata_dma);   fail1:	return error;  } @@ -568,7 +568,7 @@ static void xpad_deinit_output(struct usb_xpad *xpad)  {  	if (xpad->xtype == XTYPE_XBOX360 || xpad->xtype == XTYPE_XBOX) {  		usb_free_urb(xpad->irq_out); -		usb_buffer_free(xpad->udev, XPAD_PKT_LEN, +		usb_free_coherent(xpad->udev, XPAD_PKT_LEN,  				xpad->odata, xpad->odata_dma);  	}  } @@ -788,8 +788,8 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id  	if (!xpad || !input_dev)  		goto fail1; -	xpad->idata = usb_buffer_alloc(udev, XPAD_PKT_LEN, -				       GFP_KERNEL, &xpad->idata_dma); +	xpad->idata = usb_alloc_coherent(udev, XPAD_PKT_LEN, +					 GFP_KERNEL, &xpad->idata_dma);  	if (!xpad->idata)  		goto fail1; @@ -942,7 +942,7 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id   fail5:	usb_kill_urb(xpad->irq_in);   fail4:	usb_free_urb(xpad->irq_in);   fail3:	xpad_deinit_output(xpad); - fail2:	usb_buffer_free(udev, XPAD_PKT_LEN, xpad->idata, xpad->idata_dma); + fail2:	usb_free_coherent(udev, XPAD_PKT_LEN, xpad->idata, xpad->idata_dma);   fail1:	input_free_device(input_dev);  	kfree(xpad);  	return error; @@ -964,7 +964,7 @@ static void xpad_disconnect(struct usb_interface *intf)  			usb_kill_urb(xpad->irq_in);  		}  		usb_free_urb(xpad->irq_in); -		usb_buffer_free(xpad->udev, XPAD_PKT_LEN, +		usb_free_coherent(xpad->udev, XPAD_PKT_LEN,  				xpad->idata, xpad->idata_dma);  		kfree(xpad);  	} diff --git a/drivers/input/misc/ati_remote.c b/drivers/input/misc/ati_remote.c index e8bbc619f6d..bce57129afb 100644 --- a/drivers/input/misc/ati_remote.c +++ b/drivers/input/misc/ati_remote.c @@ -624,13 +624,13 @@ static void ati_remote_irq_in(struct urb *urb)  static int ati_remote_alloc_buffers(struct usb_device *udev,  				    struct ati_remote *ati_remote)  { -	ati_remote->inbuf = usb_buffer_alloc(udev, DATA_BUFSIZE, GFP_ATOMIC, -					     &ati_remote->inbuf_dma); +	ati_remote->inbuf = usb_alloc_coherent(udev, DATA_BUFSIZE, GFP_ATOMIC, +					       &ati_remote->inbuf_dma);  	if (!ati_remote->inbuf)  		return -1; -	ati_remote->outbuf = usb_buffer_alloc(udev, DATA_BUFSIZE, GFP_ATOMIC, -					      &ati_remote->outbuf_dma); +	ati_remote->outbuf = usb_alloc_coherent(udev, DATA_BUFSIZE, GFP_ATOMIC, +					        &ati_remote->outbuf_dma);  	if (!ati_remote->outbuf)  		return -1; @@ -653,10 +653,10 @@ static void ati_remote_free_buffers(struct ati_remote *ati_remote)  	usb_free_urb(ati_remote->irq_urb);  	usb_free_urb(ati_remote->out_urb); -	usb_buffer_free(ati_remote->udev, DATA_BUFSIZE, +	usb_free_coherent(ati_remote->udev, DATA_BUFSIZE,  		ati_remote->inbuf, ati_remote->inbuf_dma); -	usb_buffer_free(ati_remote->udev, DATA_BUFSIZE, +	usb_free_coherent(ati_remote->udev, DATA_BUFSIZE,  		ati_remote->outbuf, ati_remote->outbuf_dma);  } diff --git a/drivers/input/misc/ati_remote2.c b/drivers/input/misc/ati_remote2.c index 2124b99378b..e148749b585 100644 --- a/drivers/input/misc/ati_remote2.c +++ b/drivers/input/misc/ati_remote2.c @@ -589,7 +589,7 @@ static int ati_remote2_urb_init(struct ati_remote2 *ar2)  	int i, pipe, maxp;  	for (i = 0; i < 2; i++) { -		ar2->buf[i] = usb_buffer_alloc(udev, 4, GFP_KERNEL, &ar2->buf_dma[i]); +		ar2->buf[i] = usb_alloc_coherent(udev, 4, GFP_KERNEL, &ar2->buf_dma[i]);  		if (!ar2->buf[i])  			return -ENOMEM; @@ -617,7 +617,7 @@ static void ati_remote2_urb_cleanup(struct ati_remote2 *ar2)  	for (i = 0; i < 2; i++) {  		usb_free_urb(ar2->urb[i]); -		usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); +		usb_free_coherent(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]);  	}  } diff --git a/drivers/input/misc/cm109.c b/drivers/input/misc/cm109.c index 8d2d291ee50..2b0eba6619b 100644 --- a/drivers/input/misc/cm109.c +++ b/drivers/input/misc/cm109.c @@ -630,11 +630,11 @@ static void cm109_usb_cleanup(struct cm109_dev *dev)  {  	kfree(dev->ctl_req);  	if (dev->ctl_data) -		usb_buffer_free(dev->udev, USB_PKT_LEN, -				dev->ctl_data, dev->ctl_dma); +		usb_free_coherent(dev->udev, USB_PKT_LEN, +				  dev->ctl_data, dev->ctl_dma);  	if (dev->irq_data) -		usb_buffer_free(dev->udev, USB_PKT_LEN, -				dev->irq_data, dev->irq_dma); +		usb_free_coherent(dev->udev, USB_PKT_LEN, +				  dev->irq_data, dev->irq_dma);  	usb_free_urb(dev->urb_irq);	/* parameter validation in core/urb */  	usb_free_urb(dev->urb_ctl);	/* parameter validation in core/urb */ @@ -683,13 +683,13 @@ static int cm109_usb_probe(struct usb_interface *intf,  		goto err_out;  	/* allocate usb buffers */ -	dev->irq_data = usb_buffer_alloc(udev, USB_PKT_LEN, -					 GFP_KERNEL, &dev->irq_dma); +	dev->irq_data = usb_alloc_coherent(udev, USB_PKT_LEN, +					   GFP_KERNEL, &dev->irq_dma);  	if (!dev->irq_data)  		goto err_out; -	dev->ctl_data = usb_buffer_alloc(udev, USB_PKT_LEN, -					 GFP_KERNEL, &dev->ctl_dma); +	dev->ctl_data = usb_alloc_coherent(udev, USB_PKT_LEN, +					   GFP_KERNEL, &dev->ctl_dma);  	if (!dev->ctl_data)  		goto err_out; diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c index 86afdd1fdf9..a93c525475c 100644 --- a/drivers/input/misc/keyspan_remote.c +++ b/drivers/input/misc/keyspan_remote.c @@ -464,7 +464,7 @@ static int keyspan_probe(struct usb_interface *interface, const struct usb_devic  	remote->in_endpoint = endpoint;  	remote->toggle = -1;	/* Set to -1 so we will always not match the toggle from the first remote message. */ -	remote->in_buffer = usb_buffer_alloc(udev, RECV_SIZE, GFP_ATOMIC, &remote->in_dma); +	remote->in_buffer = usb_alloc_coherent(udev, RECV_SIZE, GFP_ATOMIC, &remote->in_dma);  	if (!remote->in_buffer) {  		error = -ENOMEM;  		goto fail1; @@ -543,7 +543,7 @@ static int keyspan_probe(struct usb_interface *interface, const struct usb_devic  	return 0;   fail3:	usb_free_urb(remote->irq_urb); - fail2:	usb_buffer_free(udev, RECV_SIZE, remote->in_buffer, remote->in_dma); + fail2:	usb_free_coherent(udev, RECV_SIZE, remote->in_buffer, remote->in_dma);   fail1:	kfree(remote);  	input_free_device(input_dev); @@ -564,7 +564,7 @@ static void keyspan_disconnect(struct usb_interface *interface)  		input_unregister_device(remote->input);  		usb_kill_urb(remote->irq_urb);  		usb_free_urb(remote->irq_urb); -		usb_buffer_free(remote->udev, RECV_SIZE, remote->in_buffer, remote->in_dma); +		usb_free_coherent(remote->udev, RECV_SIZE, remote->in_buffer, remote->in_dma);  		kfree(remote);  	}  } diff --git a/drivers/input/misc/powermate.c b/drivers/input/misc/powermate.c index 7ba4b5f53fc..bf170f6b442 100644 --- a/drivers/input/misc/powermate.c +++ b/drivers/input/misc/powermate.c @@ -273,8 +273,8 @@ static int powermate_input_event(struct input_dev *dev, unsigned int type, unsig  static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_device *pm)  { -	pm->data = usb_buffer_alloc(udev, POWERMATE_PAYLOAD_SIZE_MAX, -				    GFP_ATOMIC, &pm->data_dma); +	pm->data = usb_alloc_coherent(udev, POWERMATE_PAYLOAD_SIZE_MAX, +				      GFP_ATOMIC, &pm->data_dma);  	if (!pm->data)  		return -1; @@ -287,8 +287,8 @@ static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_dev  static void powermate_free_buffers(struct usb_device *udev, struct powermate_device *pm)  { -	usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, -			pm->data, pm->data_dma); +	usb_free_coherent(udev, POWERMATE_PAYLOAD_SIZE_MAX, +			  pm->data, pm->data_dma);  	kfree(pm->configcr);  } diff --git a/drivers/input/misc/yealink.c b/drivers/input/misc/yealink.c index 2828328e9dd..41201c6b5e6 100644 --- a/drivers/input/misc/yealink.c +++ b/drivers/input/misc/yealink.c @@ -836,10 +836,8 @@ static int usb_cleanup(struct yealink_dev *yld, int err)  	usb_free_urb(yld->urb_ctl);  	kfree(yld->ctl_req); -	usb_buffer_free(yld->udev, USB_PKT_LEN, -			yld->ctl_data, yld->ctl_dma); -	usb_buffer_free(yld->udev, USB_PKT_LEN, -			yld->irq_data, yld->irq_dma); +	usb_free_coherent(yld->udev, USB_PKT_LEN, yld->ctl_data, yld->ctl_dma); +	usb_free_coherent(yld->udev, USB_PKT_LEN, yld->irq_data, yld->irq_dma);  	kfree(yld);  	return err; @@ -884,13 +882,13 @@ static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id)  		return usb_cleanup(yld, -ENOMEM);  	/* allocate usb buffers */ -	yld->irq_data = usb_buffer_alloc(udev, USB_PKT_LEN, -					GFP_ATOMIC, &yld->irq_dma); +	yld->irq_data = usb_alloc_coherent(udev, USB_PKT_LEN, +					   GFP_ATOMIC, &yld->irq_dma);  	if (yld->irq_data == NULL)  		return usb_cleanup(yld, -ENOMEM); -	yld->ctl_data = usb_buffer_alloc(udev, USB_PKT_LEN, -					GFP_ATOMIC, &yld->ctl_dma); +	yld->ctl_data = usb_alloc_coherent(udev, USB_PKT_LEN, +					   GFP_ATOMIC, &yld->ctl_dma);  	if (!yld->ctl_data)  		return usb_cleanup(yld, -ENOMEM); diff --git a/drivers/input/mouse/appletouch.c b/drivers/input/mouse/appletouch.c index 53ec7ddd182..05edd75abca 100644 --- a/drivers/input/mouse/appletouch.c +++ b/drivers/input/mouse/appletouch.c @@ -806,8 +806,8 @@ static int atp_probe(struct usb_interface *iface,  	if (!dev->urb)  		goto err_free_devs; -	dev->data = usb_buffer_alloc(dev->udev, dev->info->datalen, GFP_KERNEL, -				     &dev->urb->transfer_dma); +	dev->data = usb_alloc_coherent(dev->udev, dev->info->datalen, GFP_KERNEL, +				       &dev->urb->transfer_dma);  	if (!dev->data)  		goto err_free_urb; @@ -862,8 +862,8 @@ static int atp_probe(struct usb_interface *iface,  	return 0;   err_free_buffer: -	usb_buffer_free(dev->udev, dev->info->datalen, -			dev->data, dev->urb->transfer_dma); +	usb_free_coherent(dev->udev, dev->info->datalen, +			  dev->data, dev->urb->transfer_dma);   err_free_urb:  	usb_free_urb(dev->urb);   err_free_devs: @@ -881,8 +881,8 @@ static void atp_disconnect(struct usb_interface *iface)  	if (dev) {  		usb_kill_urb(dev->urb);  		input_unregister_device(dev->input); -		usb_buffer_free(dev->udev, dev->info->datalen, -				dev->data, dev->urb->transfer_dma); +		usb_free_coherent(dev->udev, dev->info->datalen, +				  dev->data, dev->urb->transfer_dma);  		usb_free_urb(dev->urb);  		kfree(dev);  	} diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c index b89879bd860..6dedded2722 100644 --- a/drivers/input/mouse/bcm5974.c +++ b/drivers/input/mouse/bcm5974.c @@ -715,15 +715,15 @@ static int bcm5974_probe(struct usb_interface *iface,  	if (!dev->tp_urb)  		goto err_free_bt_urb; -	dev->bt_data = usb_buffer_alloc(dev->udev, -					dev->cfg.bt_datalen, GFP_KERNEL, -					&dev->bt_urb->transfer_dma); +	dev->bt_data = usb_alloc_coherent(dev->udev, +					  dev->cfg.bt_datalen, GFP_KERNEL, +					  &dev->bt_urb->transfer_dma);  	if (!dev->bt_data)  		goto err_free_urb; -	dev->tp_data = usb_buffer_alloc(dev->udev, -					dev->cfg.tp_datalen, GFP_KERNEL, -					&dev->tp_urb->transfer_dma); +	dev->tp_data = usb_alloc_coherent(dev->udev, +					  dev->cfg.tp_datalen, GFP_KERNEL, +					  &dev->tp_urb->transfer_dma);  	if (!dev->tp_data)  		goto err_free_bt_buffer; @@ -765,10 +765,10 @@ static int bcm5974_probe(struct usb_interface *iface,  	return 0;  err_free_buffer: -	usb_buffer_free(dev->udev, dev->cfg.tp_datalen, +	usb_free_coherent(dev->udev, dev->cfg.tp_datalen,  		dev->tp_data, dev->tp_urb->transfer_dma);  err_free_bt_buffer: -	usb_buffer_free(dev->udev, dev->cfg.bt_datalen, +	usb_free_coherent(dev->udev, dev->cfg.bt_datalen,  		dev->bt_data, dev->bt_urb->transfer_dma);  err_free_urb:  	usb_free_urb(dev->tp_urb); @@ -788,10 +788,10 @@ static void bcm5974_disconnect(struct usb_interface *iface)  	usb_set_intfdata(iface, NULL);  	input_unregister_device(dev->input); -	usb_buffer_free(dev->udev, dev->cfg.tp_datalen, -			dev->tp_data, dev->tp_urb->transfer_dma); -	usb_buffer_free(dev->udev, dev->cfg.bt_datalen, -			dev->bt_data, dev->bt_urb->transfer_dma); +	usb_free_coherent(dev->udev, dev->cfg.tp_datalen, +			  dev->tp_data, dev->tp_urb->transfer_dma); +	usb_free_coherent(dev->udev, dev->cfg.bt_datalen, +			  dev->bt_data, dev->bt_urb->transfer_dma);  	usb_free_urb(dev->tp_urb);  	usb_free_urb(dev->bt_urb);  	kfree(dev); diff --git a/drivers/input/tablet/acecad.c b/drivers/input/tablet/acecad.c index 670c61c5a51..c0470163dc6 100644 --- a/drivers/input/tablet/acecad.c +++ b/drivers/input/tablet/acecad.c @@ -155,7 +155,7 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_  		goto fail1;  	} -	acecad->data = usb_buffer_alloc(dev, 8, GFP_KERNEL, &acecad->data_dma); +	acecad->data = usb_alloc_coherent(dev, 8, GFP_KERNEL, &acecad->data_dma);  	if (!acecad->data) {  		err= -ENOMEM;  		goto fail1; @@ -241,7 +241,7 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_  	return 0; - fail2:	usb_buffer_free(dev, 8, acecad->data, acecad->data_dma); + fail2:	usb_free_coherent(dev, 8, acecad->data, acecad->data_dma);   fail1: input_free_device(input_dev);  	kfree(acecad);  	return err; @@ -256,7 +256,7 @@ static void usb_acecad_disconnect(struct usb_interface *intf)  		usb_kill_urb(acecad->irq);  		input_unregister_device(acecad->input);  		usb_free_urb(acecad->irq); -		usb_buffer_free(interface_to_usbdev(intf), 10, acecad->data, acecad->data_dma); +		usb_free_coherent(interface_to_usbdev(intf), 10, acecad->data, acecad->data_dma);  		kfree(acecad);  	}  } diff --git a/drivers/input/tablet/aiptek.c b/drivers/input/tablet/aiptek.c index 4be039d7dca..51b80b08d46 100644 --- a/drivers/input/tablet/aiptek.c +++ b/drivers/input/tablet/aiptek.c @@ -1711,8 +1711,8 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id)  		goto fail1;          } -	aiptek->data = usb_buffer_alloc(usbdev, AIPTEK_PACKET_LENGTH, -					GFP_ATOMIC, &aiptek->data_dma); +	aiptek->data = usb_alloc_coherent(usbdev, AIPTEK_PACKET_LENGTH, +					  GFP_ATOMIC, &aiptek->data_dma);          if (!aiptek->data) {  		dev_warn(&intf->dev, "cannot allocate usb buffer\n");  		goto fail1; @@ -1884,8 +1884,8 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id)   fail4:	sysfs_remove_group(&intf->dev.kobj, &aiptek_attribute_group);   fail3: usb_free_urb(aiptek->urb); - fail2:	usb_buffer_free(usbdev, AIPTEK_PACKET_LENGTH, aiptek->data, -			aiptek->data_dma); + fail2:	usb_free_coherent(usbdev, AIPTEK_PACKET_LENGTH, aiptek->data, +			  aiptek->data_dma);   fail1: usb_set_intfdata(intf, NULL);  	input_free_device(inputdev);  	kfree(aiptek); @@ -1909,9 +1909,9 @@ static void aiptek_disconnect(struct usb_interface *intf)  		input_unregister_device(aiptek->inputdev);  		sysfs_remove_group(&intf->dev.kobj, &aiptek_attribute_group);  		usb_free_urb(aiptek->urb); -		usb_buffer_free(interface_to_usbdev(intf), -				AIPTEK_PACKET_LENGTH, -				aiptek->data, aiptek->data_dma); +		usb_free_coherent(interface_to_usbdev(intf), +				  AIPTEK_PACKET_LENGTH, +				  aiptek->data, aiptek->data_dma);  		kfree(aiptek);  	}  } diff --git a/drivers/input/tablet/gtco.c b/drivers/input/tablet/gtco.c index 866a9ee1af1..8ea6afe2e99 100644 --- a/drivers/input/tablet/gtco.c +++ b/drivers/input/tablet/gtco.c @@ -850,8 +850,8 @@ static int gtco_probe(struct usb_interface *usbinterface,  	gtco->usbdev = usb_get_dev(interface_to_usbdev(usbinterface));  	/* Allocate some data for incoming reports */ -	gtco->buffer = usb_buffer_alloc(gtco->usbdev, REPORT_MAX_SIZE, -					GFP_KERNEL, >co->buf_dma); +	gtco->buffer = usb_alloc_coherent(gtco->usbdev, REPORT_MAX_SIZE, +					  GFP_KERNEL, >co->buf_dma);  	if (!gtco->buffer) {  		err("No more memory for us buffers");  		error = -ENOMEM; @@ -982,8 +982,8 @@ static int gtco_probe(struct usb_interface *usbinterface,   err_free_urb:  	usb_free_urb(gtco->urbinfo);   err_free_buf: -	usb_buffer_free(gtco->usbdev, REPORT_MAX_SIZE, -			gtco->buffer, gtco->buf_dma); +	usb_free_coherent(gtco->usbdev, REPORT_MAX_SIZE, +			  gtco->buffer, gtco->buf_dma);   err_free_devs:  	input_free_device(input_dev);  	kfree(gtco); @@ -1005,8 +1005,8 @@ static void gtco_disconnect(struct usb_interface *interface)  		input_unregister_device(gtco->inputdevice);  		usb_kill_urb(gtco->urbinfo);  		usb_free_urb(gtco->urbinfo); -		usb_buffer_free(gtco->usbdev, REPORT_MAX_SIZE, -				gtco->buffer, gtco->buf_dma); +		usb_free_coherent(gtco->usbdev, REPORT_MAX_SIZE, +				  gtco->buffer, gtco->buf_dma);  		kfree(gtco);  	} diff --git a/drivers/input/tablet/kbtab.c b/drivers/input/tablet/kbtab.c index 6682b17bf84..d31b9c79355 100644 --- a/drivers/input/tablet/kbtab.c +++ b/drivers/input/tablet/kbtab.c @@ -129,7 +129,7 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i  	if (!kbtab || !input_dev)  		goto fail1; -	kbtab->data = usb_buffer_alloc(dev, 8, GFP_KERNEL, &kbtab->data_dma); +	kbtab->data = usb_alloc_coherent(dev, 8, GFP_KERNEL, &kbtab->data_dma);  	if (!kbtab->data)  		goto fail1; @@ -182,7 +182,7 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i  	return 0;   fail3:	usb_free_urb(kbtab->irq); - fail2:	usb_buffer_free(dev, 10, kbtab->data, kbtab->data_dma); + fail2:	usb_free_coherent(dev, 10, kbtab->data, kbtab->data_dma);   fail1:	input_free_device(input_dev);  	kfree(kbtab);  	return error; @@ -197,7 +197,7 @@ static void kbtab_disconnect(struct usb_interface *intf)  		usb_kill_urb(kbtab->irq);  		input_unregister_device(kbtab->dev);  		usb_free_urb(kbtab->irq); -		usb_buffer_free(interface_to_usbdev(intf), 10, kbtab->data, kbtab->data_dma); +		usb_free_coherent(interface_to_usbdev(intf), 10, kbtab->data, kbtab->data_dma);  		kfree(kbtab);  	}  } diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c index f46502589e4..191197cd83e 100644 --- a/drivers/input/tablet/wacom_sys.c +++ b/drivers/input/tablet/wacom_sys.c @@ -556,8 +556,8 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i  		goto fail1;  	} -	wacom_wac->data = usb_buffer_alloc(dev, WACOM_PKGLEN_MAX, -					   GFP_KERNEL, &wacom->data_dma); +	wacom_wac->data = usb_alloc_coherent(dev, WACOM_PKGLEN_MAX, +					     GFP_KERNEL, &wacom->data_dma);  	if (!wacom_wac->data) {  		error = -ENOMEM;  		goto fail1; @@ -633,7 +633,7 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i  	return 0;   fail3:	usb_free_urb(wacom->irq); - fail2:	usb_buffer_free(dev, WACOM_PKGLEN_MAX, wacom_wac->data, wacom->data_dma); + fail2:	usb_free_coherent(dev, WACOM_PKGLEN_MAX, wacom_wac->data, wacom->data_dma);   fail1:	input_free_device(input_dev);  	kfree(wacom);  	kfree(wacom_wac); @@ -649,8 +649,8 @@ static void wacom_disconnect(struct usb_interface *intf)  	usb_kill_urb(wacom->irq);  	input_unregister_device(wacom->dev);  	usb_free_urb(wacom->irq); -	usb_buffer_free(interface_to_usbdev(intf), WACOM_PKGLEN_MAX, -			wacom->wacom_wac->data, wacom->data_dma); +	usb_free_coherent(interface_to_usbdev(intf), WACOM_PKGLEN_MAX, +			  wacom->wacom_wac->data, wacom->data_dma);  	kfree(wacom->wacom_wac);  	kfree(wacom);  } diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c index 99330bbdbac..ea41a851ddf 100644 --- a/drivers/input/touchscreen/usbtouchscreen.c +++ b/drivers/input/touchscreen/usbtouchscreen.c @@ -1291,8 +1291,8 @@ static void usbtouch_close(struct input_dev *input)  static void usbtouch_free_buffers(struct usb_device *udev,  				  struct usbtouch_usb *usbtouch)  { -	usb_buffer_free(udev, usbtouch->type->rept_size, -	                usbtouch->data, usbtouch->data_dma); +	usb_free_coherent(udev, usbtouch->type->rept_size, +			  usbtouch->data, usbtouch->data_dma);  	kfree(usbtouch->buffer);  } @@ -1336,8 +1336,8 @@ static int usbtouch_probe(struct usb_interface *intf,  	if (!type->process_pkt)  		type->process_pkt = usbtouch_process_pkt; -	usbtouch->data = usb_buffer_alloc(udev, type->rept_size, -	                                  GFP_KERNEL, &usbtouch->data_dma); +	usbtouch->data = usb_alloc_coherent(udev, type->rept_size, +					    GFP_KERNEL, &usbtouch->data_dma);  	if (!usbtouch->data)  		goto out_free; diff --git a/drivers/media/dvb/dvb-usb/usb-urb.c b/drivers/media/dvb/dvb-usb/usb-urb.c index f9702e3756b..86d68933b6b 100644 --- a/drivers/media/dvb/dvb-usb/usb-urb.c +++ b/drivers/media/dvb/dvb-usb/usb-urb.c @@ -96,8 +96,9 @@ static int usb_free_stream_buffers(struct usb_data_stream *stream)  		while (stream->buf_num) {  			stream->buf_num--;  			deb_mem("freeing buffer %d\n",stream->buf_num); -			usb_buffer_free(stream->udev, stream->buf_size, -					stream->buf_list[stream->buf_num], stream->dma_addr[stream->buf_num]); +			usb_free_coherent(stream->udev, stream->buf_size, +					  stream->buf_list[stream->buf_num], +					  stream->dma_addr[stream->buf_num]);  		}  	} @@ -116,7 +117,7 @@ static int usb_allocate_stream_buffers(struct usb_data_stream *stream, int num,  	for (stream->buf_num = 0; stream->buf_num < num; stream->buf_num++) {  		deb_mem("allocating buffer %d\n",stream->buf_num);  		if (( stream->buf_list[stream->buf_num] = -					usb_buffer_alloc(stream->udev, size, GFP_ATOMIC, +					usb_alloc_coherent(stream->udev, size, GFP_ATOMIC,  					&stream->dma_addr[stream->buf_num]) ) == NULL) {  			deb_mem("not enough memory for urb-buffer allocation.\n");  			usb_free_stream_buffers(stream); diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c index 53baccbab17..fe1b8037b24 100644 --- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c +++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c @@ -1257,7 +1257,7 @@ static int ttusb_dec_init_usb(struct ttusb_dec *dec)  		if(!dec->irq_urb) {  			return -ENOMEM;  		} -		dec->irq_buffer = usb_buffer_alloc(dec->udev,IRQ_PACKET_SIZE, +		dec->irq_buffer = usb_alloc_coherent(dec->udev,IRQ_PACKET_SIZE,  					GFP_ATOMIC, &dec->irq_dma_handle);  		if(!dec->irq_buffer) {  			usb_free_urb(dec->irq_urb); @@ -1550,8 +1550,8 @@ static void ttusb_dec_exit_rc(struct ttusb_dec *dec)  	usb_free_urb(dec->irq_urb); -	usb_buffer_free(dec->udev,IRQ_PACKET_SIZE, -			   dec->irq_buffer, dec->irq_dma_handle); +	usb_free_coherent(dec->udev,IRQ_PACKET_SIZE, +			  dec->irq_buffer, dec->irq_dma_handle);  	if (dec->rc_input_dev) {  		input_unregister_device(dec->rc_input_dev); diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c index 8c140c01c5e..a2a0f79a84f 100644 --- a/drivers/media/video/au0828/au0828-video.c +++ b/drivers/media/video/au0828/au0828-video.c @@ -177,7 +177,7 @@ void au0828_uninit_isoc(struct au0828_dev *dev)  				usb_unlink_urb(urb);  			if (dev->isoc_ctl.transfer_buffer[i]) { -				usb_buffer_free(dev->usbdev, +				usb_free_coherent(dev->usbdev,  					urb->transfer_buffer_length,  					dev->isoc_ctl.transfer_buffer[i],  					urb->transfer_dma); @@ -247,7 +247,7 @@ int au0828_init_isoc(struct au0828_dev *dev, int max_packets,  		}  		dev->isoc_ctl.urb[i] = urb; -		dev->isoc_ctl.transfer_buffer[i] = usb_buffer_alloc(dev->usbdev, +		dev->isoc_ctl.transfer_buffer[i] = usb_alloc_coherent(dev->usbdev,  			sb_size, GFP_KERNEL, &urb->transfer_dma);  		if (!dev->isoc_ctl.transfer_buffer[i]) {  			printk("unable to allocate %i bytes for transfer" diff --git a/drivers/media/video/cx231xx/cx231xx-core.c b/drivers/media/video/cx231xx/cx231xx-core.c index b24eee115e7..6ccd87d5fb9 100644 --- a/drivers/media/video/cx231xx/cx231xx-core.c +++ b/drivers/media/video/cx231xx/cx231xx-core.c @@ -679,11 +679,11 @@ void cx231xx_uninit_isoc(struct cx231xx *dev)  				usb_unlink_urb(urb);  			if (dev->video_mode.isoc_ctl.transfer_buffer[i]) { -				usb_buffer_free(dev->udev, -						urb->transfer_buffer_length, -						dev->video_mode.isoc_ctl. -						transfer_buffer[i], -						urb->transfer_dma); +				usb_free_coherent(dev->udev, +						  urb->transfer_buffer_length, +						  dev->video_mode.isoc_ctl. +						  transfer_buffer[i], +						  urb->transfer_dma);  			}  			usb_free_urb(urb);  			dev->video_mode.isoc_ctl.urb[i] = NULL; @@ -770,8 +770,8 @@ int cx231xx_init_isoc(struct cx231xx *dev, int max_packets,  		dev->video_mode.isoc_ctl.urb[i] = urb;  		dev->video_mode.isoc_ctl.transfer_buffer[i] = -		    usb_buffer_alloc(dev->udev, sb_size, GFP_KERNEL, -				     &urb->transfer_dma); +		    usb_alloc_coherent(dev->udev, sb_size, GFP_KERNEL, +				       &urb->transfer_dma);  		if (!dev->video_mode.isoc_ctl.transfer_buffer[i]) {  			cx231xx_err("unable to allocate %i bytes for transfer"  				    " buffer %i%s\n", diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c index a41cc556677..d4a95546504 100644 --- a/drivers/media/video/em28xx/em28xx-core.c +++ b/drivers/media/video/em28xx/em28xx-core.c @@ -966,7 +966,7 @@ void em28xx_uninit_isoc(struct em28xx *dev)  				usb_unlink_urb(urb);  			if (dev->isoc_ctl.transfer_buffer[i]) { -				usb_buffer_free(dev->udev, +				usb_free_coherent(dev->udev,  					urb->transfer_buffer_length,  					dev->isoc_ctl.transfer_buffer[i],  					urb->transfer_dma); @@ -1041,7 +1041,7 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets,  		}  		dev->isoc_ctl.urb[i] = urb; -		dev->isoc_ctl.transfer_buffer[i] = usb_buffer_alloc(dev->udev, +		dev->isoc_ctl.transfer_buffer[i] = usb_alloc_coherent(dev->udev,  			sb_size, GFP_KERNEL, &urb->transfer_dma);  		if (!dev->isoc_ctl.transfer_buffer[i]) {  			em28xx_err("unable to allocate %i bytes for transfer" diff --git a/drivers/media/video/gspca/benq.c b/drivers/media/video/gspca/benq.c index 43ac4af8d3e..fce8d949264 100644 --- a/drivers/media/video/gspca/benq.c +++ b/drivers/media/video/gspca/benq.c @@ -117,13 +117,13 @@ static int sd_start(struct gspca_dev *gspca_dev)  			return -ENOMEM;  		}  		gspca_dev->urb[n] = urb; -		urb->transfer_buffer = usb_buffer_alloc(gspca_dev->dev, +		urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,  						SD_PKT_SZ * SD_NPKT,  						GFP_KERNEL,  						&urb->transfer_dma);  		if (urb->transfer_buffer == NULL) { -			err("usb_buffer_alloc failed"); +			err("usb_alloc_coherent failed");  			return -ENOMEM;  		}  		urb->dev = gspca_dev->dev; diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 222af479150..00713f81d1e 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c @@ -213,7 +213,7 @@ static int alloc_and_submit_int_urb(struct gspca_dev *gspca_dev,  		goto error;  	} -	buffer = usb_buffer_alloc(dev, ep->wMaxPacketSize, +	buffer = usb_alloc_coherent(dev, ep->wMaxPacketSize,  				GFP_KERNEL, &urb->transfer_dma);  	if (!buffer) {  		ret = -ENOMEM; @@ -232,10 +232,10 @@ static int alloc_and_submit_int_urb(struct gspca_dev *gspca_dev,  	return ret;  error_submit: -	usb_buffer_free(dev, -			urb->transfer_buffer_length, -			urb->transfer_buffer, -			urb->transfer_dma); +	usb_free_coherent(dev, +			  urb->transfer_buffer_length, +			  urb->transfer_buffer, +			  urb->transfer_dma);  error_buffer:  	usb_free_urb(urb);  error: @@ -272,10 +272,10 @@ static void gspca_input_destroy_urb(struct gspca_dev *gspca_dev)  	if (urb) {  		gspca_dev->int_urb = NULL;  		usb_kill_urb(urb); -		usb_buffer_free(gspca_dev->dev, -				urb->transfer_buffer_length, -				urb->transfer_buffer, -				urb->transfer_dma); +		usb_free_coherent(gspca_dev->dev, +				  urb->transfer_buffer_length, +				  urb->transfer_buffer, +				  urb->transfer_dma);  		usb_free_urb(urb);  	}  } @@ -597,10 +597,10 @@ static void destroy_urbs(struct gspca_dev *gspca_dev)  		gspca_dev->urb[i] = NULL;  		usb_kill_urb(urb);  		if (urb->transfer_buffer != NULL) -			usb_buffer_free(gspca_dev->dev, -					urb->transfer_buffer_length, -					urb->transfer_buffer, -					urb->transfer_dma); +			usb_free_coherent(gspca_dev->dev, +					  urb->transfer_buffer_length, +					  urb->transfer_buffer, +					  urb->transfer_dma);  		usb_free_urb(urb);  	}  } @@ -721,13 +721,13 @@ static int create_urbs(struct gspca_dev *gspca_dev,  			return -ENOMEM;  		}  		gspca_dev->urb[n] = urb; -		urb->transfer_buffer = usb_buffer_alloc(gspca_dev->dev, +		urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,  						bsize,  						GFP_KERNEL,  						&urb->transfer_dma);  		if (urb->transfer_buffer == NULL) { -			err("usb_buffer_alloc failed"); +			err("usb_alloc_coherent failed");  			return -ENOMEM;  		}  		urb->dev = gspca_dev->dev; diff --git a/drivers/media/video/hdpvr/hdpvr-video.c b/drivers/media/video/hdpvr/hdpvr-video.c index 196f82de48f..b65efe25b31 100644 --- a/drivers/media/video/hdpvr/hdpvr-video.c +++ b/drivers/media/video/hdpvr/hdpvr-video.c @@ -92,8 +92,8 @@ static int hdpvr_free_queue(struct list_head *q)  		buf = list_entry(p, struct hdpvr_buffer, buff_list);  		urb = buf->urb; -		usb_buffer_free(urb->dev, urb->transfer_buffer_length, -				urb->transfer_buffer, urb->transfer_dma); +		usb_free_coherent(urb->dev, urb->transfer_buffer_length, +				  urb->transfer_buffer, urb->transfer_dma);  		usb_free_urb(urb);  		tmp = p->next;  		list_del(p); @@ -143,8 +143,8 @@ int hdpvr_alloc_buffers(struct hdpvr_device *dev, uint count)  		}  		buf->urb = urb; -		mem = usb_buffer_alloc(dev->udev, dev->bulk_in_size, GFP_KERNEL, -				       &urb->transfer_dma); +		mem = usb_alloc_coherent(dev->udev, dev->bulk_in_size, GFP_KERNEL, +					 &urb->transfer_dma);  		if (!mem) {  			v4l2_err(&dev->v4l2_dev,  				 "cannot allocate usb transfer buffer\n"); diff --git a/drivers/media/video/tlg2300/pd-video.c b/drivers/media/video/tlg2300/pd-video.c index cf8f18c007e..7bc29065e1a 100644 --- a/drivers/media/video/tlg2300/pd-video.c +++ b/drivers/media/video/tlg2300/pd-video.c @@ -476,10 +476,10 @@ static int prepare_iso_urb(struct video_data *video)  			goto out;  		video->urb_array[i] = urb; -		mem = usb_buffer_alloc(udev, -					ISO_PKT_SIZE * PK_PER_URB, -					GFP_KERNEL, -					&urb->transfer_dma); +		mem = usb_alloc_coherent(udev, +					 ISO_PKT_SIZE * PK_PER_URB, +					 GFP_KERNEL, +					 &urb->transfer_dma);  		urb->complete	= urb_complete_iso;	/* handler */  		urb->dev	= udev; @@ -519,8 +519,8 @@ int alloc_bulk_urbs_generic(struct urb **urb_array, int num,  		if (urb == NULL)  			return i; -		mem = usb_buffer_alloc(udev, buf_size, gfp_flags, -					&urb->transfer_dma); +		mem = usb_alloc_coherent(udev, buf_size, gfp_flags, +					 &urb->transfer_dma);  		if (mem == NULL)  			return i; @@ -540,7 +540,7 @@ void free_all_urb_generic(struct urb **urb_array, int num)  	for (i = 0; i < num; i++) {  		urb = urb_array[i];  		if (urb) { -			usb_buffer_free(urb->dev, +			usb_free_coherent(urb->dev,  					urb->transfer_buffer_length,  					urb->transfer_buffer,  					urb->transfer_dma); diff --git a/drivers/media/video/usbvision/usbvision-core.c b/drivers/media/video/usbvision/usbvision-core.c index f7aae229375..b9dd74fde21 100644 --- a/drivers/media/video/usbvision/usbvision-core.c +++ b/drivers/media/video/usbvision/usbvision-core.c @@ -2493,10 +2493,10 @@ int usbvision_init_isoc(struct usb_usbvision *usbvision)  		}  		usbvision->sbuf[bufIdx].urb = urb;  		usbvision->sbuf[bufIdx].data = -			usb_buffer_alloc(usbvision->dev, -					 sb_size, -					 GFP_KERNEL, -					 &urb->transfer_dma); +			usb_alloc_coherent(usbvision->dev, +					   sb_size, +					   GFP_KERNEL, +					   &urb->transfer_dma);  		urb->dev = dev;  		urb->context = usbvision;  		urb->pipe = usb_rcvisocpipe(dev, usbvision->video_endp); @@ -2552,10 +2552,10 @@ void usbvision_stop_isoc(struct usb_usbvision *usbvision)  	for (bufIdx = 0; bufIdx < USBVISION_NUMSBUF; bufIdx++) {  		usb_kill_urb(usbvision->sbuf[bufIdx].urb);  		if (usbvision->sbuf[bufIdx].data){ -			usb_buffer_free(usbvision->dev, -					sb_size, -					usbvision->sbuf[bufIdx].data, -					usbvision->sbuf[bufIdx].urb->transfer_dma); +			usb_free_coherent(usbvision->dev, +					  sb_size, +					  usbvision->sbuf[bufIdx].data, +					  usbvision->sbuf[bufIdx].urb->transfer_dma);  		}  		usb_free_urb(usbvision->sbuf[bufIdx].urb);  		usbvision->sbuf[bufIdx].urb = NULL; diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c index 821a9969b7b..53f3ef4635e 100644 --- a/drivers/media/video/uvc/uvc_video.c +++ b/drivers/media/video/uvc/uvc_video.c @@ -739,7 +739,7 @@ static void uvc_free_urb_buffers(struct uvc_streaming *stream)  	for (i = 0; i < UVC_URBS; ++i) {  		if (stream->urb_buffer[i]) { -			usb_buffer_free(stream->dev->udev, stream->urb_size, +			usb_free_coherent(stream->dev->udev, stream->urb_size,  				stream->urb_buffer[i], stream->urb_dma[i]);  			stream->urb_buffer[i] = NULL;  		} @@ -780,7 +780,7 @@ static int uvc_alloc_urb_buffers(struct uvc_streaming *stream,  	for (; npackets > 1; npackets /= 2) {  		for (i = 0; i < UVC_URBS; ++i) {  			stream->urb_size = psize * npackets; -			stream->urb_buffer[i] = usb_buffer_alloc( +			stream->urb_buffer[i] = usb_alloc_coherent(  				stream->dev->udev, stream->urb_size,  				gfp_flags | __GFP_NOWARN, &stream->urb_dma[i]);  			if (!stream->urb_buffer[i]) { diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c index d800b598ae3..25a5c7eea94 100644 --- a/drivers/net/can/usb/ems_usb.c +++ b/drivers/net/can/usb/ems_usb.c @@ -516,8 +516,8 @@ static void ems_usb_write_bulk_callback(struct urb *urb)  	netdev = dev->netdev;  	/* free up our allocated buffer */ -	usb_buffer_free(urb->dev, urb->transfer_buffer_length, -			urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(urb->dev, urb->transfer_buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	atomic_dec(&dev->active_tx_urbs); @@ -614,8 +614,8 @@ static int ems_usb_start(struct ems_usb *dev)  			return -ENOMEM;  		} -		buf = usb_buffer_alloc(dev->udev, RX_BUFFER_SIZE, GFP_KERNEL, -				       &urb->transfer_dma); +		buf = usb_alloc_coherent(dev->udev, RX_BUFFER_SIZE, GFP_KERNEL, +					 &urb->transfer_dma);  		if (!buf) {  			dev_err(netdev->dev.parent,  				"No memory left for USB buffer\n"); @@ -635,8 +635,8 @@ static int ems_usb_start(struct ems_usb *dev)  				netif_device_detach(dev->netdev);  			usb_unanchor_urb(urb); -			usb_buffer_free(dev->udev, RX_BUFFER_SIZE, buf, -					urb->transfer_dma); +			usb_free_coherent(dev->udev, RX_BUFFER_SIZE, buf, +					  urb->transfer_dma);  			break;  		} @@ -777,7 +777,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne  		goto nomem;  	} -	buf = usb_buffer_alloc(dev->udev, size, GFP_ATOMIC, &urb->transfer_dma); +	buf = usb_alloc_coherent(dev->udev, size, GFP_ATOMIC, &urb->transfer_dma);  	if (!buf) {  		dev_err(netdev->dev.parent, "No memory left for USB buffer\n");  		usb_free_urb(urb); @@ -820,7 +820,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne  	 */  	if (!context) {  		usb_unanchor_urb(urb); -		usb_buffer_free(dev->udev, size, buf, urb->transfer_dma); +		usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);  		dev_warn(netdev->dev.parent, "couldn't find free context\n"); @@ -845,7 +845,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne  		can_free_echo_skb(netdev, context->echo_index);  		usb_unanchor_urb(urb); -		usb_buffer_free(dev->udev, size, buf, urb->transfer_dma); +		usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);  		dev_kfree_skb(skb);  		atomic_dec(&dev->active_tx_urbs); diff --git a/drivers/net/usb/ipheth.c b/drivers/net/usb/ipheth.c index 418825d26f9..197c352c47f 100644 --- a/drivers/net/usb/ipheth.c +++ b/drivers/net/usb/ipheth.c @@ -128,17 +128,13 @@ static int ipheth_alloc_urbs(struct ipheth_device *iphone)  	if (rx_urb == NULL)  		goto free_tx_urb; -	tx_buf = usb_buffer_alloc(iphone->udev, -				  IPHETH_BUF_SIZE, -				  GFP_KERNEL, -				  &tx_urb->transfer_dma); +	tx_buf = usb_alloc_coherent(iphone->udev, IPHETH_BUF_SIZE, +				    GFP_KERNEL, &tx_urb->transfer_dma);  	if (tx_buf == NULL)  		goto free_rx_urb; -	rx_buf = usb_buffer_alloc(iphone->udev, -				  IPHETH_BUF_SIZE, -				  GFP_KERNEL, -				  &rx_urb->transfer_dma); +	rx_buf = usb_alloc_coherent(iphone->udev, IPHETH_BUF_SIZE, +				    GFP_KERNEL, &rx_urb->transfer_dma);  	if (rx_buf == NULL)  		goto free_tx_buf; @@ -150,8 +146,8 @@ static int ipheth_alloc_urbs(struct ipheth_device *iphone)  	return 0;  free_tx_buf: -	usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, tx_buf, -			tx_urb->transfer_dma); +	usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, tx_buf, +			  tx_urb->transfer_dma);  free_rx_urb:  	usb_free_urb(rx_urb);  free_tx_urb: @@ -162,10 +158,10 @@ error_nomem:  static void ipheth_free_urbs(struct ipheth_device *iphone)  { -	usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, iphone->rx_buf, -			iphone->rx_urb->transfer_dma); -	usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, iphone->tx_buf, -			iphone->tx_urb->transfer_dma); +	usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, iphone->rx_buf, +			  iphone->rx_urb->transfer_dma); +	usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, iphone->tx_buf, +			  iphone->tx_urb->transfer_dma);  	usb_free_urb(iphone->rx_urb);  	usb_free_urb(iphone->tx_urb);  } diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index c4c334d9770..a3eb7be51d5 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c @@ -1156,13 +1156,13 @@ err_fw:  	if (!kaweth->irq_urb)  		goto err_tx_and_rx; -	kaweth->intbuffer = usb_buffer_alloc(	kaweth->dev, +	kaweth->intbuffer = usb_alloc_coherent(	kaweth->dev,  						INTBUFFERSIZE,  						GFP_KERNEL,  						&kaweth->intbufferhandle);  	if (!kaweth->intbuffer)  		goto err_tx_and_rx_and_irq; -	kaweth->rx_buf = usb_buffer_alloc(	kaweth->dev, +	kaweth->rx_buf = usb_alloc_coherent(	kaweth->dev,  						KAWETH_BUF_SIZE,  						GFP_KERNEL,  						&kaweth->rxbufferhandle); @@ -1203,9 +1203,9 @@ err_fw:  err_intfdata:  	usb_set_intfdata(intf, NULL); -	usb_buffer_free(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle); +	usb_free_coherent(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle);  err_all_but_rxbuf: -	usb_buffer_free(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle); +	usb_free_coherent(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle);  err_tx_and_rx_and_irq:  	usb_free_urb(kaweth->irq_urb);  err_tx_and_rx: @@ -1242,8 +1242,8 @@ static void kaweth_disconnect(struct usb_interface *intf)  	usb_free_urb(kaweth->tx_urb);  	usb_free_urb(kaweth->irq_urb); -	usb_buffer_free(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle); -	usb_buffer_free(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle); +	usb_free_coherent(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle); +	usb_free_coherent(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle);  	free_netdev(netdev);  } diff --git a/drivers/net/wireless/ath/ar9170/usb.c b/drivers/net/wireless/ath/ar9170/usb.c index e1c2fcaa8be..a1f5444f7cc 100644 --- a/drivers/net/wireless/ath/ar9170/usb.c +++ b/drivers/net/wireless/ath/ar9170/usb.c @@ -202,7 +202,7 @@ resubmit:  	return;  free: -	usb_buffer_free(aru->udev, 64, urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(aru->udev, 64, urb->transfer_buffer, urb->transfer_dma);  }  static void ar9170_usb_rx_completed(struct urb *urb) @@ -283,7 +283,7 @@ static int ar9170_usb_alloc_rx_irq_urb(struct ar9170_usb *aru)  	if (!urb)  		goto out; -	ibuf = usb_buffer_alloc(aru->udev, 64, GFP_KERNEL, &urb->transfer_dma); +	ibuf = usb_alloc_coherent(aru->udev, 64, GFP_KERNEL, &urb->transfer_dma);  	if (!ibuf)  		goto out; @@ -296,8 +296,8 @@ static int ar9170_usb_alloc_rx_irq_urb(struct ar9170_usb *aru)  	err = usb_submit_urb(urb, GFP_KERNEL);  	if (err) {  		usb_unanchor_urb(urb); -		usb_buffer_free(aru->udev, 64, urb->transfer_buffer, -				urb->transfer_dma); +		usb_free_coherent(aru->udev, 64, urb->transfer_buffer, +				  urb->transfer_dma);  	}  out: diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c index d91ad1a612a..c257940b71b 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c @@ -664,15 +664,15 @@ static struct urb *alloc_rx_urb(struct zd_usb *usb)  	urb = usb_alloc_urb(0, GFP_KERNEL);  	if (!urb)  		return NULL; -	buffer = usb_buffer_alloc(udev, USB_MAX_RX_SIZE, GFP_KERNEL, -		                  &urb->transfer_dma); +	buffer = usb_alloc_coherent(udev, USB_MAX_RX_SIZE, GFP_KERNEL, +				    &urb->transfer_dma);  	if (!buffer) {  		usb_free_urb(urb);  		return NULL;  	}  	usb_fill_bulk_urb(urb, udev, usb_rcvbulkpipe(udev, EP_DATA_IN), -		          buffer, USB_MAX_RX_SIZE, +			  buffer, USB_MAX_RX_SIZE,  			  rx_urb_complete, usb);  	urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; @@ -683,8 +683,8 @@ static void free_rx_urb(struct urb *urb)  {  	if (!urb)  		return; -	usb_buffer_free(urb->dev, urb->transfer_buffer_length, -		        urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(urb->dev, urb->transfer_buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	usb_free_urb(urb);  } diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 5e1a253b08a..0c2f14ff969 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)  	struct usb_device *usb_dev = interface_to_usbdev(acm->control);  	for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) -		usb_buffer_free(usb_dev, acm->writesize, wb->buf, wb->dmah); +		usb_free_coherent(usb_dev, acm->writesize, wb->buf, wb->dmah);  }  static void acm_read_buffers_free(struct acm *acm) @@ -901,8 +901,8 @@ static void acm_read_buffers_free(struct acm *acm)  	int i, n = acm->rx_buflimit;  	for (i = 0; i < n; i++) -		usb_buffer_free(usb_dev, acm->readsize, -					acm->rb[i].base, acm->rb[i].dma); +		usb_free_coherent(usb_dev, acm->readsize, +				  acm->rb[i].base, acm->rb[i].dma);  }  /* Little helper: write buffers allocate */ @@ -912,13 +912,13 @@ static int acm_write_buffers_alloc(struct acm *acm)  	struct acm_wb *wb;  	for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) { -		wb->buf = usb_buffer_alloc(acm->dev, acm->writesize, GFP_KERNEL, +		wb->buf = usb_alloc_coherent(acm->dev, acm->writesize, GFP_KERNEL,  		    &wb->dmah);  		if (!wb->buf) {  			while (i != 0) {  				--i;  				--wb; -				usb_buffer_free(acm->dev, acm->writesize, +				usb_free_coherent(acm->dev, acm->writesize,  				    wb->buf, wb->dmah);  			}  			return -ENOMEM; @@ -1177,7 +1177,7 @@ made_compressed_probe:  	tty_port_init(&acm->port);  	acm->port.ops = &acm_port_ops; -	buf = usb_buffer_alloc(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma); +	buf = usb_alloc_coherent(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma);  	if (!buf) {  		dev_dbg(&intf->dev, "out of memory (ctrl buffer alloc)\n");  		goto alloc_fail2; @@ -1210,11 +1210,11 @@ made_compressed_probe:  	for (i = 0; i < num_rx_buf; i++) {  		struct acm_rb *rb = &(acm->rb[i]); -		rb->base = usb_buffer_alloc(acm->dev, readsize, +		rb->base = usb_alloc_coherent(acm->dev, readsize,  				GFP_KERNEL, &rb->dma);  		if (!rb->base) {  			dev_dbg(&intf->dev, -				"out of memory (read bufs usb_buffer_alloc)\n"); +				"out of memory (read bufs usb_alloc_coherent)\n");  			goto alloc_fail7;  		}  	} @@ -1306,7 +1306,7 @@ alloc_fail7:  alloc_fail5:  	acm_write_buffers_free(acm);  alloc_fail4: -	usb_buffer_free(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); +	usb_free_coherent(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma);  alloc_fail2:  	kfree(acm);  alloc_fail: @@ -1356,8 +1356,8 @@ static void acm_disconnect(struct usb_interface *intf)  	stop_data_traffic(acm);  	acm_write_buffers_free(acm); -	usb_buffer_free(usb_dev, acm->ctrlsize, acm->ctrl_buffer, -								acm->ctrl_dma); +	usb_free_coherent(usb_dev, acm->ctrlsize, acm->ctrl_buffer, +			  acm->ctrl_dma);  	acm_read_buffers_free(acm);  	if (!acm->combined_interfaces) diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 189141ca4e0..094c76b5de1 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)  static void cleanup(struct wdm_device *desc)  { -	usb_buffer_free(interface_to_usbdev(desc->intf), -			desc->wMaxPacketSize, -			desc->sbuf, -			desc->validity->transfer_dma); -	usb_buffer_free(interface_to_usbdev(desc->intf), -			desc->wMaxCommand, -			desc->inbuf, -			desc->response->transfer_dma); +	usb_free_coherent(interface_to_usbdev(desc->intf), +			  desc->wMaxPacketSize, +			  desc->sbuf, +			  desc->validity->transfer_dma); +	usb_free_coherent(interface_to_usbdev(desc->intf), +			  desc->wMaxCommand, +			  desc->inbuf, +			  desc->response->transfer_dma);  	kfree(desc->orq);  	kfree(desc->irq);  	kfree(desc->ubuf); @@ -705,17 +705,17 @@ next_desc:  	if (!desc->ubuf)  		goto err; -	desc->sbuf = usb_buffer_alloc(interface_to_usbdev(intf), +	desc->sbuf = usb_alloc_coherent(interface_to_usbdev(intf),  					desc->wMaxPacketSize,  					GFP_KERNEL,  					&desc->validity->transfer_dma);  	if (!desc->sbuf)  		goto err; -	desc->inbuf = usb_buffer_alloc(interface_to_usbdev(intf), -					desc->bMaxPacketSize0, -					GFP_KERNEL, -					&desc->response->transfer_dma); +	desc->inbuf = usb_alloc_coherent(interface_to_usbdev(intf), +					 desc->bMaxPacketSize0, +					 GFP_KERNEL, +					 &desc->response->transfer_dma);  	if (!desc->inbuf)  		goto err2; @@ -742,15 +742,15 @@ out:  	return rv;  err3:  	usb_set_intfdata(intf, NULL); -	usb_buffer_free(interface_to_usbdev(desc->intf), -			desc->bMaxPacketSize0, +	usb_free_coherent(interface_to_usbdev(desc->intf), +			  desc->bMaxPacketSize0,  			desc->inbuf,  			desc->response->transfer_dma);  err2: -	usb_buffer_free(interface_to_usbdev(desc->intf), -			desc->wMaxPacketSize, -			desc->sbuf, -			desc->validity->transfer_dma); +	usb_free_coherent(interface_to_usbdev(desc->intf), +			  desc->wMaxPacketSize, +			  desc->sbuf, +			  desc->validity->transfer_dma);  err:  	free_urbs(desc);  	kfree(desc->ubuf); diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index 93b5f85d7ce..2250095db0a 100644 --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c @@ -27,7 +27,7 @@   *	v0.11 - add proto_bias option (Pete Zaitcev)   *	v0.12 - add hpoj.sourceforge.net ioctls (David Paschal)   *	v0.13 - alloc space for statusbuf (<status> not on stack); - *		use usb_buffer_alloc() for read buf & write buf; + *		use usb_alloc_coherent() for read buf & write buf;   *      none  - Maintained in Linux kernel after v0.13   */ diff --git a/drivers/usb/misc/appledisplay.c b/drivers/usb/misc/appledisplay.c index 094f91cbc57..1fa6ce3e4a2 100644 --- a/drivers/usb/misc/appledisplay.c +++ b/drivers/usb/misc/appledisplay.c @@ -259,7 +259,7 @@ static int appledisplay_probe(struct usb_interface *iface,  	}  	/* Allocate buffer for interrupt data */ -	pdata->urbdata = usb_buffer_alloc(pdata->udev, ACD_URB_BUFFER_LEN, +	pdata->urbdata = usb_alloc_coherent(pdata->udev, ACD_URB_BUFFER_LEN,  		GFP_KERNEL, &pdata->urb->transfer_dma);  	if (!pdata->urbdata) {  		retval = -ENOMEM; @@ -316,7 +316,7 @@ error:  		if (pdata->urb) {  			usb_kill_urb(pdata->urb);  			if (pdata->urbdata) -				usb_buffer_free(pdata->udev, ACD_URB_BUFFER_LEN, +				usb_free_coherent(pdata->udev, ACD_URB_BUFFER_LEN,  					pdata->urbdata, pdata->urb->transfer_dma);  			usb_free_urb(pdata->urb);  		} @@ -337,7 +337,7 @@ static void appledisplay_disconnect(struct usb_interface *iface)  		usb_kill_urb(pdata->urb);  		cancel_delayed_work(&pdata->work);  		backlight_device_unregister(pdata->bd); -		usb_buffer_free(pdata->udev, ACD_URB_BUFFER_LEN, +		usb_free_coherent(pdata->udev, ACD_URB_BUFFER_LEN,  			pdata->urbdata, pdata->urb->transfer_dma);  		usb_free_urb(pdata->urb);  		kfree(pdata->msgdata); diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c index 2300a51d48b..82e16630a78 100644 --- a/drivers/usb/misc/ftdi-elan.c +++ b/drivers/usb/misc/ftdi-elan.c @@ -734,7 +734,7 @@ static void ftdi_elan_write_bulk_callback(struct urb *urb)                  dev_err(&ftdi->udev->dev, "urb=%p write bulk status received: %"                          "d\n", urb, status);          } -        usb_buffer_free(urb->dev, urb->transfer_buffer_length, +        usb_free_coherent(urb->dev, urb->transfer_buffer_length,                  urb->transfer_buffer, urb->transfer_dma);  } @@ -795,7 +795,7 @@ static int ftdi_elan_command_engine(struct usb_ftdi *ftdi)                          total_size);                  return -ENOMEM;          } -        buf = usb_buffer_alloc(ftdi->udev, total_size, GFP_KERNEL, +        buf = usb_alloc_coherent(ftdi->udev, total_size, GFP_KERNEL,                  &urb->transfer_dma);          if (!buf) {                  dev_err(&ftdi->udev->dev, "could not get a buffer to write %d c" @@ -829,7 +829,7 @@ static int ftdi_elan_command_engine(struct usb_ftdi *ftdi)                  dev_err(&ftdi->udev->dev, "failed %d to submit urb %p to write "                          "%d commands totaling %d bytes to the Uxxx\n", retval,                          urb, command_size, total_size); -                usb_buffer_free(ftdi->udev, total_size, buf, urb->transfer_dma); +                usb_free_coherent(ftdi->udev, total_size, buf, urb->transfer_dma);                  usb_free_urb(urb);                  return retval;          } @@ -1167,7 +1167,7 @@ static ssize_t ftdi_elan_write(struct file *file,                  retval = -ENOMEM;                  goto error_1;          } -        buf = usb_buffer_alloc(ftdi->udev, count, GFP_KERNEL, +        buf = usb_alloc_coherent(ftdi->udev, count, GFP_KERNEL,                  &urb->transfer_dma);          if (!buf) {                  retval = -ENOMEM; @@ -1192,7 +1192,7 @@ static ssize_t ftdi_elan_write(struct file *file,  exit:          return count;  error_3: -	usb_buffer_free(ftdi->udev, count, buf, urb->transfer_dma); +	usb_free_coherent(ftdi->udev, count, buf, urb->transfer_dma);  error_2:  	usb_free_urb(urb);  error_1: @@ -1968,7 +1968,7 @@ static int ftdi_elan_synchronize_flush(struct usb_ftdi *ftdi)                          "ence\n");                  return -ENOMEM;          } -        buf = usb_buffer_alloc(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma); +        buf = usb_alloc_coherent(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma);          if (!buf) {                  dev_err(&ftdi->udev->dev, "could not get a buffer for flush seq"                          "uence\n"); @@ -1985,7 +1985,7 @@ static int ftdi_elan_synchronize_flush(struct usb_ftdi *ftdi)          if (retval) {                  dev_err(&ftdi->udev->dev, "failed to submit urb containing the "                          "flush sequence\n"); -                usb_buffer_free(ftdi->udev, i, buf, urb->transfer_dma); +                usb_free_coherent(ftdi->udev, i, buf, urb->transfer_dma);                  usb_free_urb(urb);                  return -ENOMEM;          } @@ -2011,7 +2011,7 @@ static int ftdi_elan_synchronize_reset(struct usb_ftdi *ftdi)                          "quence\n");                  return -ENOMEM;          } -        buf = usb_buffer_alloc(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma); +        buf = usb_alloc_coherent(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma);          if (!buf) {                  dev_err(&ftdi->udev->dev, "could not get a buffer for the reset"                          " sequence\n"); @@ -2030,7 +2030,7 @@ static int ftdi_elan_synchronize_reset(struct usb_ftdi *ftdi)          if (retval) {                  dev_err(&ftdi->udev->dev, "failed to submit urb containing the "                          "reset sequence\n"); -                usb_buffer_free(ftdi->udev, i, buf, urb->transfer_dma); +                usb_free_coherent(ftdi->udev, i, buf, urb->transfer_dma);                  usb_free_urb(urb);                  return -ENOMEM;          } diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c index d3c85236388..7dc9d3c6998 100644 --- a/drivers/usb/misc/iowarrior.c +++ b/drivers/usb/misc/iowarrior.c @@ -239,8 +239,8 @@ static void iowarrior_write_callback(struct urb *urb)  		    __func__, status);  	}  	/* free up our allocated buffer */ -	usb_buffer_free(urb->dev, urb->transfer_buffer_length, -			urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(urb->dev, urb->transfer_buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	/* tell a waiting writer the interrupt-out-pipe is available again */  	atomic_dec(&dev->write_busy);  	wake_up_interruptible(&dev->write_wait); @@ -421,8 +421,8 @@ static ssize_t iowarrior_write(struct file *file,  			dbg("%s Unable to allocate urb ", __func__);  			goto error_no_urb;  		} -		buf = usb_buffer_alloc(dev->udev, dev->report_size, -				       GFP_KERNEL, &int_out_urb->transfer_dma); +		buf = usb_alloc_coherent(dev->udev, dev->report_size, +					 GFP_KERNEL, &int_out_urb->transfer_dma);  		if (!buf) {  			retval = -ENOMEM;  			dbg("%s Unable to allocate buffer ", __func__); @@ -459,8 +459,8 @@ static ssize_t iowarrior_write(struct file *file,  		break;  	}  error: -	usb_buffer_free(dev->udev, dev->report_size, buf, -			int_out_urb->transfer_dma); +	usb_free_coherent(dev->udev, dev->report_size, buf, +			  int_out_urb->transfer_dma);  error_no_buffer:  	usb_free_urb(int_out_urb);  error_no_urb: diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c index 90aede90553..7828c764b32 100644 --- a/drivers/usb/misc/usblcd.c +++ b/drivers/usb/misc/usblcd.c @@ -205,8 +205,8 @@ static void lcd_write_bulk_callback(struct urb *urb)  	}  	/* free up our allocated buffer */ -	usb_buffer_free(urb->dev, urb->transfer_buffer_length, -			urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(urb->dev, urb->transfer_buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	up(&dev->limit_sem);  } @@ -234,7 +234,7 @@ static ssize_t lcd_write(struct file *file, const char __user * user_buffer, siz  		goto err_no_buf;  	} -	buf = usb_buffer_alloc(dev->udev, count, GFP_KERNEL, &urb->transfer_dma); +	buf = usb_alloc_coherent(dev->udev, count, GFP_KERNEL, &urb->transfer_dma);  	if (!buf) {  		retval = -ENOMEM;  		goto error; @@ -268,7 +268,7 @@ exit:  error_unanchor:  	usb_unanchor_urb(urb);  error: -	usb_buffer_free(dev->udev, count, buf, urb->transfer_dma); +	usb_free_coherent(dev->udev, count, buf, urb->transfer_dma);  	usb_free_urb(urb);  err_no_buf:  	up(&dev->limit_sem); diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 9dcc82337ce..16dffe99d9f 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -202,7 +202,7 @@ static struct urb *simple_alloc_urb (  	urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP;  	if (usb_pipein (pipe))  		urb->transfer_flags |= URB_SHORT_NOT_OK; -	urb->transfer_buffer = usb_buffer_alloc (udev, bytes, GFP_KERNEL, +	urb->transfer_buffer = usb_alloc_coherent (udev, bytes, GFP_KERNEL,  			&urb->transfer_dma);  	if (!urb->transfer_buffer) {  		usb_free_urb (urb); @@ -272,8 +272,8 @@ static inline int simple_check_buf(struct usbtest_dev *tdev, struct urb *urb)  static void simple_free_urb (struct urb *urb)  { -	usb_buffer_free (urb->dev, urb->transfer_buffer_length, -			urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(urb->dev, urb->transfer_buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	usb_free_urb (urb);  } @@ -1416,7 +1416,7 @@ static struct urb *iso_alloc_urb (  	urb->number_of_packets = packets;  	urb->transfer_buffer_length = bytes; -	urb->transfer_buffer = usb_buffer_alloc (udev, bytes, GFP_KERNEL, +	urb->transfer_buffer = usb_alloc_coherent (udev, bytes, GFP_KERNEL,  			&urb->transfer_dma);  	if (!urb->transfer_buffer) {  		usb_free_urb (urb); diff --git a/drivers/usb/storage/onetouch.c b/drivers/usb/storage/onetouch.c index 198bb3ed95b..1943be5a291 100644 --- a/drivers/usb/storage/onetouch.c +++ b/drivers/usb/storage/onetouch.c @@ -201,8 +201,8 @@ static int onetouch_connect_input(struct us_data *ss)  	if (!onetouch || !input_dev)  		goto fail1; -	onetouch->data = usb_buffer_alloc(udev, ONETOUCH_PKT_LEN, -					  GFP_KERNEL, &onetouch->data_dma); +	onetouch->data = usb_alloc_coherent(udev, ONETOUCH_PKT_LEN, +					    GFP_KERNEL, &onetouch->data_dma);  	if (!onetouch->data)  		goto fail1; @@ -264,8 +264,8 @@ static int onetouch_connect_input(struct us_data *ss)  	return 0;   fail3:	usb_free_urb(onetouch->irq); - fail2:	usb_buffer_free(udev, ONETOUCH_PKT_LEN, -			onetouch->data, onetouch->data_dma); + fail2:	usb_free_coherent(udev, ONETOUCH_PKT_LEN, +			  onetouch->data, onetouch->data_dma);   fail1:	kfree(onetouch);  	input_free_device(input_dev);  	return error; @@ -279,8 +279,8 @@ static void onetouch_release_input(void *onetouch_)  		usb_kill_urb(onetouch->irq);  		input_unregister_device(onetouch->dev);  		usb_free_urb(onetouch->irq); -		usb_buffer_free(onetouch->udev, ONETOUCH_PKT_LEN, -				onetouch->data, onetouch->data_dma); +		usb_free_coherent(onetouch->udev, ONETOUCH_PKT_LEN, +				  onetouch->data, onetouch->data_dma);  	}  } diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index c54a370c76c..e2798ef2dd1 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -414,7 +414,7 @@ static int associate_dev(struct us_data *us, struct usb_interface *intf)  		return -ENOMEM;  	} -	us->iobuf = usb_buffer_alloc(us->pusb_dev, US_IOBUF_SIZE, +	us->iobuf = usb_alloc_coherent(us->pusb_dev, US_IOBUF_SIZE,  			GFP_KERNEL, &us->iobuf_dma);  	if (!us->iobuf) {  		US_DEBUGP("I/O buffer allocation failed\n"); @@ -758,7 +758,7 @@ static void dissociate_dev(struct us_data *us)  	/* Free the buffers */  	kfree(us->cr); -	usb_buffer_free(us->pusb_dev, US_IOBUF_SIZE, us->iobuf, us->iobuf_dma); +	usb_free_coherent(us->pusb_dev, US_IOBUF_SIZE, us->iobuf, us->iobuf_dma);  	/* Remove our private data from the interface */  	usb_set_intfdata(us->pusb_intf, NULL); diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 61522787f39..d110588b56f 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c @@ -387,8 +387,8 @@ static void skel_write_bulk_callback(struct urb *urb)  	}  	/* free up our allocated buffer */ -	usb_buffer_free(urb->dev, urb->transfer_buffer_length, -			urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(urb->dev, urb->transfer_buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	up(&dev->limit_sem);  } @@ -442,8 +442,8 @@ static ssize_t skel_write(struct file *file, const char *user_buffer,  		goto error;  	} -	buf = usb_buffer_alloc(dev->udev, writesize, GFP_KERNEL, -			       &urb->transfer_dma); +	buf = usb_alloc_coherent(dev->udev, writesize, GFP_KERNEL, +				 &urb->transfer_dma);  	if (!buf) {  		retval = -ENOMEM;  		goto error; @@ -491,7 +491,7 @@ error_unanchor:  	usb_unanchor_urb(urb);  error:  	if (urb) { -		usb_buffer_free(dev->udev, writesize, buf, urb->transfer_dma); +		usb_free_coherent(dev->udev, writesize, buf, urb->transfer_dma);  		usb_free_urb(urb);  	}  	up(&dev->limit_sem); diff --git a/drivers/watchdog/pcwd_usb.c b/drivers/watchdog/pcwd_usb.c index 8e4eacc5bb5..748a74bd85e 100644 --- a/drivers/watchdog/pcwd_usb.c +++ b/drivers/watchdog/pcwd_usb.c @@ -600,8 +600,8 @@ static inline void usb_pcwd_delete(struct usb_pcwd_private *usb_pcwd)  {  	usb_free_urb(usb_pcwd->intr_urb);  	if (usb_pcwd->intr_buffer != NULL) -		usb_buffer_free(usb_pcwd->udev, usb_pcwd->intr_size, -				usb_pcwd->intr_buffer, usb_pcwd->intr_dma); +		usb_free_coherent(usb_pcwd->udev, usb_pcwd->intr_size, +				  usb_pcwd->intr_buffer, usb_pcwd->intr_dma);  	kfree(usb_pcwd);  } @@ -671,7 +671,7 @@ static int usb_pcwd_probe(struct usb_interface *interface,  				le16_to_cpu(endpoint->wMaxPacketSize) : 8);  	/* set up the memory buffer's */ -	usb_pcwd->intr_buffer = usb_buffer_alloc(udev, usb_pcwd->intr_size, +	usb_pcwd->intr_buffer = usb_alloc_coherent(udev, usb_pcwd->intr_size,  					GFP_ATOMIC, &usb_pcwd->intr_dma);  	if (!usb_pcwd->intr_buffer) {  		printk(KERN_ERR PFX "Out of memory\n"); diff --git a/sound/usb/ua101.c b/sound/usb/ua101.c index 3d458d3b996..d700e32dee2 100644 --- a/sound/usb/ua101.c +++ b/sound/usb/ua101.c @@ -41,7 +41,7 @@ MODULE_SUPPORTED_DEVICE("{{Edirol,UA-101},{Edirol,UA-1000}}");  /*   * This magic value optimizes memory usage efficiency for the UA-101's packet   * sizes at all sample rates, taking into account the stupid cache pool sizes - * that usb_buffer_alloc() uses. + * that usb_alloc_coherent() uses.   */  #define DEFAULT_QUEUE_LENGTH	21 @@ -1056,7 +1056,7 @@ static int alloc_stream_buffers(struct ua101 *ua, struct ua101_stream *stream)  				   (unsigned int)MAX_QUEUE_LENGTH);  	/* -	 * The cache pool sizes used by usb_buffer_alloc() (128, 512, 2048) are +	 * The cache pool sizes used by usb_alloc_coherent() (128, 512, 2048) are  	 * quite bad when used with the packet sizes of this device (e.g. 280,  	 * 520, 624).  Therefore, we allocate and subdivide entire pages, using  	 * a smaller buffer only for the last chunk. @@ -1067,8 +1067,8 @@ static int alloc_stream_buffers(struct ua101 *ua, struct ua101_stream *stream)  		packets = min(remaining_packets, packets_per_page);  		size = packets * stream->max_packet_bytes;  		stream->buffers[i].addr = -			usb_buffer_alloc(ua->dev, size, GFP_KERNEL, -					 &stream->buffers[i].dma); +			usb_alloc_coherent(ua->dev, size, GFP_KERNEL, +					   &stream->buffers[i].dma);  		if (!stream->buffers[i].addr)  			return -ENOMEM;  		stream->buffers[i].size = size; @@ -1088,10 +1088,10 @@ static void free_stream_buffers(struct ua101 *ua, struct ua101_stream *stream)  	unsigned int i;  	for (i = 0; i < ARRAY_SIZE(stream->buffers); ++i) -		usb_buffer_free(ua->dev, -				stream->buffers[i].size, -				stream->buffers[i].addr, -				stream->buffers[i].dma); +		usb_free_coherent(ua->dev, +				  stream->buffers[i].size, +				  stream->buffers[i].addr, +				  stream->buffers[i].dma);  }  static int alloc_stream_urbs(struct ua101 *ua, struct ua101_stream *stream, diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 11b0826b8fe..9d2274ce01d 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c @@ -985,9 +985,9 @@ static void release_urb_ctx(struct snd_urb_ctx *u)  {  	if (u->urb) {  		if (u->buffer_size) -			usb_buffer_free(u->subs->dev, u->buffer_size, -					u->urb->transfer_buffer, -					u->urb->transfer_dma); +			usb_free_coherent(u->subs->dev, u->buffer_size, +					  u->urb->transfer_buffer, +					  u->urb->transfer_dma);  		usb_free_urb(u->urb);  		u->urb = NULL;  	} @@ -1008,8 +1008,8 @@ static void release_substream_urbs(struct snd_usb_substream *subs, int force)  		release_urb_ctx(&subs->dataurb[i]);  	for (i = 0; i < SYNC_URBS; i++)  		release_urb_ctx(&subs->syncurb[i]); -	usb_buffer_free(subs->dev, SYNC_URBS * 4, -			subs->syncbuf, subs->sync_dma); +	usb_free_coherent(subs->dev, SYNC_URBS * 4, +			  subs->syncbuf, subs->sync_dma);  	subs->syncbuf = NULL;  	subs->nurbs = 0;  } @@ -1113,8 +1113,8 @@ static int init_substream_urbs(struct snd_usb_substream *subs, unsigned int peri  		if (!u->urb)  			goto out_of_memory;  		u->urb->transfer_buffer = -			usb_buffer_alloc(subs->dev, u->buffer_size, GFP_KERNEL, -					 &u->urb->transfer_dma); +			usb_alloc_coherent(subs->dev, u->buffer_size, GFP_KERNEL, +					   &u->urb->transfer_dma);  		if (!u->urb->transfer_buffer)  			goto out_of_memory;  		u->urb->pipe = subs->datapipe; @@ -1126,8 +1126,8 @@ static int init_substream_urbs(struct snd_usb_substream *subs, unsigned int peri  	if (subs->syncpipe) {  		/* allocate and initialize sync urbs */ -		subs->syncbuf = usb_buffer_alloc(subs->dev, SYNC_URBS * 4, -						 GFP_KERNEL, &subs->sync_dma); +		subs->syncbuf = usb_alloc_coherent(subs->dev, SYNC_URBS * 4, +						   GFP_KERNEL, &subs->sync_dma);  		if (!subs->syncbuf)  			goto out_of_memory;  		for (i = 0; i < SYNC_URBS; i++) { diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c index 9e28b20cb2c..61b2d8fd033 100644 --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c @@ -1047,8 +1047,8 @@ static struct snd_rawmidi_ops snd_usbmidi_input_ops = {  static void free_urb_and_buffer(struct snd_usb_midi *umidi, struct urb *urb,  				unsigned int buffer_length)  { -	usb_buffer_free(umidi->dev, buffer_length, -			urb->transfer_buffer, urb->transfer_dma); +	usb_free_coherent(umidi->dev, buffer_length, +			  urb->transfer_buffer, urb->transfer_dma);  	usb_free_urb(urb);  } @@ -1099,8 +1099,8 @@ static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi* umidi,  		pipe = usb_rcvbulkpipe(umidi->dev, ep_info->in_ep);  	length = usb_maxpacket(umidi->dev, pipe, 0);  	for (i = 0; i < INPUT_URBS; ++i) { -		buffer = usb_buffer_alloc(umidi->dev, length, GFP_KERNEL, -					  &ep->urbs[i]->transfer_dma); +		buffer = usb_alloc_coherent(umidi->dev, length, GFP_KERNEL, +					    &ep->urbs[i]->transfer_dma);  		if (!buffer) {  			snd_usbmidi_in_endpoint_delete(ep);  			return -ENOMEM; @@ -1190,9 +1190,9 @@ static int snd_usbmidi_out_endpoint_create(struct snd_usb_midi* umidi,  		break;  	}  	for (i = 0; i < OUTPUT_URBS; ++i) { -		buffer = usb_buffer_alloc(umidi->dev, -					  ep->max_transfer, GFP_KERNEL, -					  &ep->urbs[i].urb->transfer_dma); +		buffer = usb_alloc_coherent(umidi->dev, +					    ep->max_transfer, GFP_KERNEL, +					    &ep->urbs[i].urb->transfer_dma);  		if (!buffer) {  			snd_usbmidi_out_endpoint_delete(ep);  			return -ENOMEM;  |