diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-05-10 07:54:29 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-11 13:39:14 -0700 |
commit | 3862ef3e5ed19d27fbd4f39172db1d388d0bdd62 (patch) | |
tree | 5d039d65f788e707478cb732d33a7b29ef24f298 /drivers/staging/hv/storvsc_drv.c | |
parent | 49a3c7a90a45fc2ce380083cc8a797865d25df00 (diff) | |
download | kernel_samsung_smdk4412-3862ef3e5ed19d27fbd4f39172db1d388d0bdd62.zip kernel_samsung_smdk4412-3862ef3e5ed19d27fbd4f39172db1d388d0bdd62.tar.gz kernel_samsung_smdk4412-3862ef3e5ed19d27fbd4f39172db1d388d0bdd62.tar.bz2 |
Staging: hv: Get rid of the forward declaration for do_bounce_buffer()
Get rid of the forward declaration by moving the 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>
Diffstat (limited to 'drivers/staging/hv/storvsc_drv.c')
-rw-r--r-- | drivers/staging/hv/storvsc_drv.c | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c index bf5b138..9380866 100644 --- a/drivers/staging/hv/storvsc_drv.c +++ b/drivers/staging/hv/storvsc_drv.c @@ -163,6 +163,33 @@ static void destroy_bounce_buffer(struct scatterlist *sgl, kfree(sgl); } +static int do_bounce_buffer(struct scatterlist *sgl, unsigned int sg_count) +{ + int i; + + /* No need to check */ + if (sg_count < 2) + return -1; + + /* We have at least 2 sg entries */ + for (i = 0; i < sg_count; i++) { + if (i == 0) { + /* make sure 1st one does not have hole */ + if (sgl[i].offset + sgl[i].length != PAGE_SIZE) + return i; + } else if (i == sg_count - 1) { + /* make sure last one does not have hole */ + if (sgl[i].offset != 0) + return i; + } else { + /* make sure no hole in the middle */ + if (sgl[i].length != PAGE_SIZE || sgl[i].offset != 0) + return i; + } + } + return -1; +} + /* Static decl */ static int storvsc_probe(struct hv_device *dev); static int storvsc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *scmnd); @@ -172,7 +199,6 @@ static int storvsc_remove(struct hv_device *dev); static struct scatterlist *create_bounce_buffer(struct scatterlist *sgl, unsigned int sg_count, unsigned int len); -static int do_bounce_buffer(struct scatterlist *sgl, unsigned int sg_count); static unsigned int copy_from_bounce_buffer(struct scatterlist *orig_sgl, struct scatterlist *bounce_sgl, unsigned int orig_sgl_count); @@ -499,33 +525,6 @@ static void storvsc_commmand_completion(struct hv_storvsc_request *request) kmem_cache_free(host_dev->request_pool, cmd_request); } -static int do_bounce_buffer(struct scatterlist *sgl, unsigned int sg_count) -{ - int i; - - /* No need to check */ - if (sg_count < 2) - return -1; - - /* We have at least 2 sg entries */ - for (i = 0; i < sg_count; i++) { - if (i == 0) { - /* make sure 1st one does not have hole */ - if (sgl[i].offset + sgl[i].length != PAGE_SIZE) - return i; - } else if (i == sg_count - 1) { - /* make sure last one does not have hole */ - if (sgl[i].offset != 0) - return i; - } else { - /* make sure no hole in the middle */ - if (sgl[i].length != PAGE_SIZE || sgl[i].offset != 0) - return i; - } - } - return -1; -} - static struct scatterlist *create_bounce_buffer(struct scatterlist *sgl, unsigned int sg_count, unsigned int len) |