/* This function copies at most @len bytes at @offset from the FIFO into the @to buffer and returns the number of copied bytes. The data is not removed from the FIFO.  */
unsigned int kfifo_out_peek(struct kfifo *fifo, void *to, unsigned int len, unsigned offset)
/* This function copies at most @len bytes at @offset from the FIFO into the @to buffer and returns the number of copied bytes. The data is not removed from the FIFO.  */
unsigned int kfifo_out_peek(struct kfifo *fifo, void *to, unsigned int len, unsigned offset)
{
	len = min(kfifo_len(fifo), len + offset);
	__kfifo_out_data(fifo, to, len, offset);
	return len;
}