Now, get rid of struct hv_bus. We will no longer be embedding struct bus_type. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: Abhishek Kane <v-abkane@xxxxxxxxxxxxx> Signed-off-by: Hank Janssen <hjanssen@xxxxxxxxxxxxx> --- drivers/staging/hv/vmbus_drv.c | 33 ++++++++++++++------------------- 1 files changed, 14 insertions(+), 19 deletions(-) diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/staging/hv/vmbus_drv.c index a3a7741..515311c 100644 --- a/drivers/staging/hv/vmbus_drv.c +++ b/drivers/staging/hv/vmbus_drv.c @@ -45,11 +45,6 @@ static struct pci_dev *hv_pci_dev; 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); */ @@ -405,14 +400,14 @@ static void vmbus_device_release(struct device *device) } /* 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"; @@ -550,14 +545,14 @@ static int vmbus_bus_init(struct pci_dev *pdev) goto cleanup; } - hv_bus.bus.name = driver_name; + hv_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; @@ -572,7 +567,7 @@ static int vmbus_bus_init(struct pci_dev *pdev) pr_err("Unable to request IRQ %d\n", pdev->irq); - bus_unregister(&hv_bus.bus); + bus_unregister(&hv_bus); ret = -1; goto cleanup; @@ -588,7 +583,7 @@ static int vmbus_bus_init(struct pci_dev *pdev) ret = vmbus_connect(); if (ret) { free_irq(pdev->irq, pdev); - bus_unregister(&hv_bus.bus); + bus_unregister(&hv_bus); goto cleanup; } @@ -618,7 +613,7 @@ int vmbus_child_driver_register(struct device_driver *drv) 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); @@ -688,7 +683,7 @@ int vmbus_child_device_register(struct hv_device *child_device_obj) 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; -- 1.7.4.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel