Commit c5dce3db authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman

Staging: hv: Get rid of the forward declaration for vmbus_remove

Get rid of the forward declaration of vmbus_remove by moving
the code around.
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarMike Sterling <mike.sterling@microsoft.com>
Signed-off-by: default avatarAbhishek Kane <v-abkane@microsoft.com>
Signed-off-by: default avatarHank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f1f0d67b
...@@ -47,7 +47,6 @@ struct hv_bus { ...@@ -47,7 +47,6 @@ struct hv_bus {
struct tasklet_struct event_dpc; struct tasklet_struct event_dpc;
}; };
static int vmbus_remove(struct device *device);
static void vmbus_shutdown(struct device *device); static void vmbus_shutdown(struct device *device);
static irqreturn_t vmbus_isr(int irq, void *dev_id); static irqreturn_t vmbus_isr(int irq, void *dev_id);
...@@ -248,6 +247,35 @@ static int vmbus_probe(struct device *child_device) ...@@ -248,6 +247,35 @@ static int vmbus_probe(struct device *child_device)
return ret; return ret;
} }
/*
* vmbus_remove - Remove a vmbus device
*/
static int vmbus_remove(struct device *child_device)
{
int ret;
struct hv_driver *drv;
if (child_device->driver) {
drv = drv_to_hv_drv(child_device->driver);
/*
* Let the specific open-source driver handles the removal if
* it can
*/
if (drv->driver.remove) {
ret = drv->driver.remove(child_device);
} else {
DPRINT_ERR(VMBUS_DRV,
"remove() method not set for driver - %s",
child_device->driver->name);
ret = -1;
}
}
return 0;
}
/* The one and only one */ /* The one and only one */
static struct hv_bus hv_bus = { static struct hv_bus hv_bus = {
.bus.name = "vmbus", .bus.name = "vmbus",
...@@ -776,35 +804,6 @@ void vmbus_child_device_unregister(struct hv_device *device_obj) ...@@ -776,35 +804,6 @@ void vmbus_child_device_unregister(struct hv_device *device_obj)
&device_obj->device); &device_obj->device);
} }
/*
* vmbus_remove - Remove a vmbus device
*/
static int vmbus_remove(struct device *child_device)
{
int ret;
struct hv_driver *drv;
if (child_device->driver) {
drv = drv_to_hv_drv(child_device->driver);
/*
* Let the specific open-source driver handles the removal if
* it can
*/
if (drv->driver.remove) {
ret = drv->driver.remove(child_device);
} else {
DPRINT_ERR(VMBUS_DRV,
"remove() method not set for driver - %s",
child_device->driver->name);
ret = -1;
}
}
return 0;
}
/* /*
* vmbus_shutdown - Shutdown a vmbus device * vmbus_shutdown - Shutdown a vmbus device
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment