/* Note that with only one concurrent reader and one concurrent writer, you don't need extra locking to use these functions.  */
unsigned int kfifo_out(struct kfifo *fifo, void *to, unsigned int len)
/* Note that with only one concurrent reader and one concurrent writer, you don't need extra locking to use these functions.  */
unsigned int kfifo_out(struct kfifo *fifo, void *to, unsigned int len)
{
	len = min(kfifo_len(fifo), len);
	__kfifo_out_data(fifo, to, len, 0);
	__kfifo_add_out(fifo, len);
	return len;
}