if (storvsc_drv_obj->base.cleanup)
storvsc_drv_obj->base.cleanup(&storvsc_drv_obj->base);
- vmbus_child_driver_unregister(drv_ctx);
+ vmbus_child_driver_unregister(&drv_ctx->driver);
return;
}
if (mousevsc_drv_obj->Base.cleanup)
mousevsc_drv_obj->Base.cleanup(&mousevsc_drv_obj->Base);
- vmbus_child_driver_unregister(drv_ctx);
+ vmbus_child_driver_unregister(&drv_ctx->driver);
return;
}
if (netvsc_drv_obj->base.cleanup)
netvsc_drv_obj->base.cleanup(&netvsc_drv_obj->base);
- vmbus_child_driver_unregister(drv_ctx);
+ vmbus_child_driver_unregister(&drv_ctx->driver);
return;
}
if (storvsc_drv_obj->base.cleanup)
storvsc_drv_obj->base.cleanup(&storvsc_drv_obj->base);
- vmbus_child_driver_unregister(drv_ctx);
+ vmbus_child_driver_unregister(&drv_ctx->driver);
return;
}
/* Vmbus interface */
int vmbus_child_driver_register(struct device_driver *drv);
-void vmbus_child_driver_unregister(struct driver_context *driver_ctx);
+void vmbus_child_driver_unregister(struct device_driver *drv);
extern struct completion hv_channel_ready;
/**
* vmbus_child_driver_unregister() - Unregister a vmbus's child driver
- * @driver_ctx: Pointer to driver structure you want to un-register
+ * @drv: Pointer to driver structure you want to un-register
*
- * @driver_ctx is of type &struct driver_context
*
* Un-register the given driver with Linux through the 'driver_unregister()'
* call. And ungegisters the driver from the Hyper-V vmbus handler.
*
* Mainly used by Hyper-V drivers.
*/
-void vmbus_child_driver_unregister(struct driver_context *driver_ctx)
+void vmbus_child_driver_unregister(struct device_driver *drv)
{
DPRINT_INFO(VMBUS_DRV, "child driver (%p) unregistering - name %s",
- driver_ctx, driver_ctx->driver.name);
+ drv, drv->name);
- driver_unregister(&driver_ctx->driver);
+ driver_unregister(drv);
- driver_ctx->driver.bus = NULL;
+ drv->bus = NULL;
}
EXPORT_SYMBOL(vmbus_child_driver_unregister);