Provided by:
linux-doc-2.6.15_2.6.15-23.39_all 
NAME
kfifo_init - allocates a new FIFO using a preallocated buffer
SYNOPSIS
struct kfifo * kfifo_init (unsigned char * buffer, unsigned int size,
gfp_t gfp_mask, spinlock_t * lock);
ARGUMENTS
buffer the preallocated buffer to be used.
size the size of the internal buffer, this have to be a power of 2.
gfp_mask
get_free_pages mask, passed to kmalloc
lock the lock to be used to protect the fifo buffer
DESCRIPTION
Do NOT pass the kfifo to kfifo_free after use ! Simply free the struct
kfifo with kfree.