struct tasklet_struct event_dpc;
};
-static void vmbus_shutdown(struct device *device);
static irqreturn_t vmbus_isr(int irq, void *dev_id);
return 0;
}
+
+/*
+ * vmbus_shutdown - Shutdown a vmbus device
+ */
+static void vmbus_shutdown(struct device *child_device)
+{
+ struct hv_driver *drv;
+
+
+ /* The device may not be attached yet */
+ if (!child_device->driver)
+ return;
+
+ drv = drv_to_hv_drv(child_device->driver);
+
+ /* Let the specific open-source driver handles the removal if it can */
+ if (drv->driver.shutdown)
+ drv->driver.shutdown(child_device);
+
+ return;
+}
+
/* The one and only one */
static struct hv_bus hv_bus = {
.bus.name = "vmbus",
&device_obj->device);
}
-/*
- * vmbus_shutdown - Shutdown a vmbus device
- */
-static void vmbus_shutdown(struct device *child_device)
-{
- struct hv_driver *drv;
-
-
- /* The device may not be attached yet */
- if (!child_device->driver)
- return;
-
- drv = drv_to_hv_drv(child_device->driver);
-
- /* Let the specific open-source driver handles the removal if it can */
- if (drv->driver.shutdown)
- drv->driver.shutdown(child_device);
-
- return;
-}
-
/*
* vmbus_device_release - Final callback release of the vmbus child device