From: K. Y. Srinivasan Date: Tue, 10 May 2011 14:54:33 +0000 (-0700) Subject: Staging: hv: Get rid of the forward declaration of storvsc_remove() X-Git-Tag: v3.0-rc1~336^2~387 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5c5c023496d61cee6088f59fe5e7e7a8034f6fa9;p=karo-tx-linux.git Staging: hv: Get rid of the forward declaration of storvsc_remove() Get rid of the forward declaration by moving the code around. Signed-off-by: K. Y. Srinivasan Signed-off-by: Haiyang Zhang Signed-off-by: Abhishek Kane Signed-off-by: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c index 807ba891c020..6f23f52130af 100644 --- a/drivers/staging/hv/storvsc_drv.c +++ b/drivers/staging/hv/storvsc_drv.c @@ -350,11 +350,41 @@ static unsigned int copy_to_bounce_buffer(struct scatterlist *orig_sgl, return total_copied; } + +/* + * storvsc_remove - Callback when our device is removed + */ +static int storvsc_remove(struct hv_device *dev) +{ + struct storvsc_driver *storvsc_drv_obj = + drv_to_stordrv(dev->device.driver); + struct Scsi_Host *host = dev_get_drvdata(&dev->device); + struct hv_host_device *host_dev = + (struct hv_host_device *)host->hostdata; + + /* + * Call to the vsc driver to let it know that the device is being + * removed + */ + storvsc_drv_obj->base.dev_rm(dev); + + if (host_dev->request_pool) { + kmem_cache_destroy(host_dev->request_pool); + host_dev->request_pool = NULL; + } + + DPRINT_INFO(STORVSC, "removing host adapter (%p)...", host); + scsi_remove_host(host); + + DPRINT_INFO(STORVSC, "releasing host adapter (%p)...", host); + scsi_host_put(host); + return 0; +} + /* Static decl */ static int storvsc_probe(struct hv_device *dev); static int storvsc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *scmnd); static int storvsc_host_reset_handler(struct scsi_cmnd *scmnd); -static int storvsc_remove(struct hv_device *dev); static int storvsc_get_chs(struct scsi_device *sdev, struct block_device *bdev, sector_t capacity, int *info); @@ -588,36 +618,6 @@ static int storvsc_probe(struct hv_device *device) return ret; } -/* - * storvsc_remove - Callback when our device is removed - */ -static int storvsc_remove(struct hv_device *dev) -{ - struct storvsc_driver *storvsc_drv_obj = - drv_to_stordrv(dev->device.driver); - struct Scsi_Host *host = dev_get_drvdata(&dev->device); - struct hv_host_device *host_dev = - (struct hv_host_device *)host->hostdata; - - /* - * Call to the vsc driver to let it know that the device is being - * removed - */ - storvsc_drv_obj->base.dev_rm(dev); - - if (host_dev->request_pool) { - kmem_cache_destroy(host_dev->request_pool); - host_dev->request_pool = NULL; - } - - DPRINT_INFO(STORVSC, "removing host adapter (%p)...", host); - scsi_remove_host(host); - - DPRINT_INFO(STORVSC, "releasing host adapter (%p)...", host); - scsi_host_put(host); - return 0; -} - /* * storvsc_commmand_completion - Command completion processing */