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.