- don't define and use a release callback for the generic driver.
- Call bus_unregister() in usb_exit() to remove the usb driver, instead of put_bus().
{
return 0;
}
-static void generic_release (struct device_driver * drv)
-{
-}
static struct device_driver usb_generic_driver = {
.name = "usb",
.bus = &usb_bus_type,
.probe = generic_probe,
.remove = generic_remove,
- .release = generic_release,
};
int usb_device_probe(struct device *dev)
usb_major_cleanup();
usbfs_cleanup();
usb_hub_cleanup();
- put_bus(&usb_bus_type);
+ bus_unregister(&usb_bus_type);
}
subsys_initcall(usb_init);