diff options
author | David Brownell <david-b@pacbell.net> | 2007-07-01 15:21:00 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-12 19:34:42 -0400 |
commit | c67ab134ba9f83f9de86e58adfeaa14a9efa6e00 (patch) | |
tree | df9022b4a38e955abbf254d71e00ac1fecce6420 /drivers/usb/gadget/s3c2410_udc.c | |
parent | 9d8bab58b758cd5a96d368a8cc64111c9ab50407 (diff) |
usb gadget stack: remove usb_ep_*_buffer(), part 2
This patch removes controller driver infrastructure which supported
the now-removed usb_ep_{alloc,free}_buffer() calls.
As can be seen, many of the implementations of this were broken to
various degrees. Many didn't properly return dma-coherent mappings;
those which did so were necessarily ugly because of bogosity in the
underlying dma_free_coherent() calls ... which on many platforms
can't be called from the same contexts (notably in_irq) from which
their dma_alloc_coherent() sibling can be called.
The main potential downside of removing this is that gadget drivers
wouldn't have specific knowledge that the controller drivers have:
endpoints that aren't dma-capable don't need any dma mappings at all.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/s3c2410_udc.c')
-rw-r--r-- | drivers/usb/gadget/s3c2410_udc.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c index d60748add325..0be80c635c48 100644 --- a/drivers/usb/gadget/s3c2410_udc.c +++ b/drivers/usb/gadget/s3c2410_udc.c | |||
@@ -1197,36 +1197,6 @@ s3c2410_udc_free_request(struct usb_ep *_ep, struct usb_request *_req) | |||
1197 | } | 1197 | } |
1198 | 1198 | ||
1199 | /* | 1199 | /* |
1200 | * s3c2410_udc_alloc_buffer | ||
1201 | */ | ||
1202 | static void *s3c2410_udc_alloc_buffer(struct usb_ep *_ep, | ||
1203 | unsigned bytes, dma_addr_t *dma, gfp_t mem_flags) | ||
1204 | { | ||
1205 | char *retval; | ||
1206 | |||
1207 | dprintk(DEBUG_VERBOSE, "%s()\n", __func__); | ||
1208 | |||
1209 | if (!the_controller->driver) | ||
1210 | return NULL; | ||
1211 | |||
1212 | retval = kmalloc (bytes, mem_flags); | ||
1213 | *dma = (dma_addr_t) retval; | ||
1214 | return retval; | ||
1215 | } | ||
1216 | |||
1217 | /* | ||
1218 | * s3c2410_udc_free_buffer | ||
1219 | */ | ||
1220 | static void s3c2410_udc_free_buffer (struct usb_ep *_ep, void *buf, | ||
1221 | dma_addr_t dma, unsigned bytes) | ||
1222 | { | ||
1223 | dprintk(DEBUG_VERBOSE, "%s()\n", __func__); | ||
1224 | |||
1225 | if (bytes) | ||
1226 | kfree (buf); | ||
1227 | } | ||
1228 | |||
1229 | /* | ||
1230 | * s3c2410_udc_queue | 1200 | * s3c2410_udc_queue |
1231 | */ | 1201 | */ |
1232 | static int s3c2410_udc_queue(struct usb_ep *_ep, struct usb_request *_req, | 1202 | static int s3c2410_udc_queue(struct usb_ep *_ep, struct usb_request *_req, |
@@ -1441,9 +1411,6 @@ static const struct usb_ep_ops s3c2410_ep_ops = { | |||
1441 | .alloc_request = s3c2410_udc_alloc_request, | 1411 | .alloc_request = s3c2410_udc_alloc_request, |
1442 | .free_request = s3c2410_udc_free_request, | 1412 | .free_request = s3c2410_udc_free_request, |
1443 | 1413 | ||
1444 | .alloc_buffer = s3c2410_udc_alloc_buffer, | ||
1445 | .free_buffer = s3c2410_udc_free_buffer, | ||
1446 | |||
1447 | .queue = s3c2410_udc_queue, | 1414 | .queue = s3c2410_udc_queue, |
1448 | .dequeue = s3c2410_udc_dequeue, | 1415 | .dequeue = s3c2410_udc_dequeue, |
1449 | 1416 | ||