static struct tasklet_struct msg_dpc;
static struct tasklet_struct event_dpc;
-/* Main vmbus driver data structure */
-struct hv_bus {
- struct bus_type bus;
-};
-
unsigned int vmbus_loglevel = (ALL_MODULES << 16 | INFO_LVL);
EXPORT_SYMBOL(vmbus_loglevel);
/* (ALL_MODULES << 16 | DEBUG_LVL_ENTEREXIT); */
}
/* The one and only one */
-static struct hv_bus hv_bus = {
- .bus.name = "vmbus",
- .bus.match = vmbus_match,
- .bus.shutdown = vmbus_shutdown,
- .bus.remove = vmbus_remove,
- .bus.probe = vmbus_probe,
- .bus.uevent = vmbus_uevent,
- .bus.dev_attrs = vmbus_device_attrs,
+static struct bus_type hv_bus = {
+ .name = "vmbus",
+ .match = vmbus_match,
+ .shutdown = vmbus_shutdown,
+ .remove = vmbus_remove,
+ .probe = vmbus_probe,
+ .uevent = vmbus_uevent,
+ .dev_attrs = vmbus_device_attrs,
};
static const char *driver_name = "hyperv";
goto cleanup;
}
- hv_bus.bus.name = driver_name;
-
/* Initialize the bus context */
tasklet_init(&msg_dpc, vmbus_on_msg_dpc, 0);
tasklet_init(&event_dpc, vmbus_on_event, 0);
/* Now, register the bus with LDM */
- ret = bus_register(&hv_bus.bus);
+ ret = bus_register(&hv_bus);
if (ret) {
ret = -1;
goto cleanup;
pr_err("Unable to request IRQ %d\n",
pdev->irq);
- bus_unregister(&hv_bus.bus);
+ bus_unregister(&hv_bus);
ret = -1;
goto cleanup;
ret = vmbus_connect();
if (ret) {
free_irq(pdev->irq, pdev);
- bus_unregister(&hv_bus.bus);
+ bus_unregister(&hv_bus);
goto cleanup;
}
pr_info("child driver registering - name %s\n", drv->name);
/* The child driver on this vmbus */
- drv->bus = &hv_bus.bus;
+ drv->bus = &hv_bus;
ret = driver_register(drv);
atomic_inc_return(&device_num));
/* The new device belongs to this bus */
- child_device_obj->device.bus = &hv_bus.bus; /* device->dev.bus; */
+ child_device_obj->device.bus = &hv_bus; /* device->dev.bus; */
child_device_obj->device.parent = &hv_pci_dev->dev;
child_device_obj->device.release = vmbus_device_release;