Name

usb_ep_alloc_buffer — allocate an I/O buffer

Synopsis

void * usb_ep_alloc_buffer (struct usb_ep *  ep,
 unsigned  len,
 dma_addr_t *  dma,
 gfp_t  gfp_flags);

Arguments

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

Description

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.