usb_ep_alloc_buffer — allocate an I/O buffer
void * usb_ep_alloc_buffer ( | struct usb_ep * | ep, |
unsigned | len, | |
dma_addr_t * | dma, | |
gfp_t | gfp_flags) ; |
ep
the endpoint associated with the buffer
len
length of the desired buffer
dma
pointer to the buffer's DMA address; must be valid
gfp_flags
GFP_* flags to use
Returns a new buffer, or null if one could not be allocated.
The buffer is suitably aligned for dma, if that endpoint uses DMA,
and the caller won't have to care about dma-inconsistency
or any hidden “bounce buffer” mechanism. No additional per-request
DMA mapping will be required for such buffers.
Free it later with usb_ep_free_buffer
.
You don't need to use this call to allocate I/O buffers unless you want to make sure drivers don't incur costs for such “bounce buffer” copies or per-request DMA mappings.