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.