Skip to content

Commit

Permalink
Staging: hv: Get rid of the forward declaration of hv_copyfrom_ringbu…
Browse files Browse the repository at this point in the history
…ffer

Get rid of the forward declaration by moving code around.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed May 11, 2011
1 parent b2a5a58 commit 8f1136a
Showing 1 changed file with 37 additions and 46 deletions.
83 changes: 37 additions & 46 deletions drivers/staging/hv/ring_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,43 @@ void hv_dump_ring_info(struct hv_ring_buffer_info *ring_info, char *prefix)
}


/*
*
* hv_copyfrom_ringbuffer()
*
* Helper routine to copy to source from ring buffer.
* Assume there is enough room. Handles wrap-around in src case only!!
*
*/
static u32 hv_copyfrom_ringbuffer(
struct hv_ring_buffer_info *ring_info,
void *dest,
u32 destlen,
u32 start_read_offset)
{
void *ring_buffer = hv_get_ring_buffer(ring_info);
u32 ring_buffer_size = hv_get_ring_buffersize(ring_info);

u32 frag_len;

/* wrap-around detected at the src */
if (destlen > ring_buffer_size - start_read_offset) {
frag_len = ring_buffer_size - start_read_offset;

memcpy(dest, ring_buffer + start_read_offset, frag_len);
memcpy(dest + frag_len, ring_buffer, destlen - frag_len);
} else

memcpy(dest, ring_buffer + start_read_offset, destlen);


start_read_offset += destlen;
start_read_offset %= ring_buffer_size;

return start_read_offset;
}



static u32
hv_copyto_ringbuffer(
Expand All @@ -207,14 +244,6 @@ hv_copyto_ringbuffer(
void *src,
u32 srclen);

static u32
hv_copyfrom_ringbuffer(
struct hv_ring_buffer_info *ring_info,
void *dest,
u32 destlen,
u32 start_read_offset);



/*
*
Expand Down Expand Up @@ -504,41 +533,3 @@ hv_copyto_ringbuffer(
return start_write_offset;
}


/*
*
* hv_copyfrom_ringbuffer()
*
* Helper routine to copy to source from ring buffer.
* Assume there is enough room. Handles wrap-around in src case only!!
*
*/
static u32
hv_copyfrom_ringbuffer(
struct hv_ring_buffer_info *ring_info,
void *dest,
u32 destlen,
u32 start_read_offset)
{
void *ring_buffer = hv_get_ring_buffer(ring_info);
u32 ring_buffer_size = hv_get_ring_buffersize(ring_info);

u32 frag_len;

/* wrap-around detected at the src */
if (destlen > ring_buffer_size - start_read_offset) {
frag_len = ring_buffer_size - start_read_offset;

memcpy(dest, ring_buffer + start_read_offset, frag_len);
memcpy(dest + frag_len, ring_buffer, destlen - frag_len);
} else

memcpy(dest, ring_buffer + start_read_offset, destlen);


start_read_offset += destlen;
start_read_offset %= ring_buffer_size;

return start_read_offset;
}

0 comments on commit 8f1136a

Please sign in to comment.