struct pci_dev *hv_pci_dev;
/* Main vmbus driver data structure */
-struct vmbus_driver_context {
+struct hv_bus {
struct bus_type bus;
struct tasklet_struct msg_dpc;
struct tasklet_struct event_dpc;
};
/* The one and only one */
-static struct vmbus_driver_context vmbus_drv = {
+static struct hv_bus hv_bus = {
.bus.name = "vmbus",
.bus.match = vmbus_match,
.bus.shutdown = vmbus_shutdown,
*/
static int vmbus_bus_init(struct pci_dev *pdev)
{
- struct vmbus_driver_context *vmbus_drv_ctx = &vmbus_drv;
int ret;
unsigned int vector;
}
- vmbus_drv_ctx->bus.name = driver_name;
+ hv_bus.bus.name = driver_name;
/* Initialize the bus context */
- tasklet_init(&vmbus_drv_ctx->msg_dpc, vmbus_on_msg_dpc,
+ tasklet_init(&hv_bus.msg_dpc, vmbus_on_msg_dpc,
(unsigned long)NULL);
- tasklet_init(&vmbus_drv_ctx->event_dpc, vmbus_on_event,
+ tasklet_init(&hv_bus.event_dpc, vmbus_on_event,
(unsigned long)NULL);
/* Now, register the bus with LDM */
- ret = bus_register(&vmbus_drv_ctx->bus);
+ ret = bus_register(&hv_bus.bus);
if (ret) {
ret = -1;
goto cleanup;
DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d",
pdev->irq);
- bus_unregister(&vmbus_drv_ctx->bus);
+ bus_unregister(&hv_bus.bus);
ret = -1;
goto cleanup;
ret = vmbus_connect();
if (ret) {
free_irq(pdev->irq, pdev);
- bus_unregister(&vmbus_drv_ctx->bus);
+ bus_unregister(&hv_bus.bus);
goto cleanup;
}
*/
static void vmbus_bus_exit(void)
{
- struct vmbus_driver_context *vmbus_drv_ctx = &vmbus_drv;
vmbus_release_unattached_channels();
hv_cleanup();
- bus_unregister(&vmbus_drv_ctx->bus);
+ bus_unregister(&hv_bus.bus);
free_irq(hv_pci_dev->irq, hv_pci_dev);
- tasklet_kill(&vmbus_drv_ctx->msg_dpc);
- tasklet_kill(&vmbus_drv_ctx->event_dpc);
+ tasklet_kill(&hv_bus.msg_dpc);
+ tasklet_kill(&hv_bus.event_dpc);
}
drv, drv->name);
/* The child driver on this vmbus */
- drv->bus = &vmbus_drv.bus;
+ drv->bus = &hv_bus.bus;
ret = driver_register(drv);
atomic_inc_return(&device_num));
/* The new device belongs to this bus */
- child_device_obj->device.bus = &vmbus_drv.bus; /* device->dev.bus; */
+ child_device_obj->device.bus = &hv_bus.bus; /* device->dev.bus; */
child_device_obj->device.parent = &hv_pci_dev->dev;
child_device_obj->device.release = vmbus_device_release;
/* Schedules a dpc if necessary */
if (ret > 0) {
if (test_bit(0, (unsigned long *)&ret))
- tasklet_schedule(&vmbus_drv.msg_dpc);
+ tasklet_schedule(&hv_bus.msg_dpc);
if (test_bit(1, (unsigned long *)&ret))
- tasklet_schedule(&vmbus_drv.event_dpc);
+ tasklet_schedule(&hv_bus.event_dpc);
return IRQ_HANDLED;
} else {