/* Recycles the bus number, and unlinks the controller from usbcore data structures so that it won't be seen by scanning the bus list.  */
static void usb_deregister_bus(struct usb_bus *bus)
/* Recycles the bus number, and unlinks the controller from usbcore data structures so that it won't be seen by scanning the bus list.  */
static void usb_deregister_bus(struct usb_bus *bus)
{
	dev_info (bus->controller, "USB bus %d deregistered\n", bus->busnum);
	mutex_lock(&usb_bus_list_lock);
	list_del (&bus->bus_list);
	mutex_unlock(&usb_bus_list_lock);
	usb_notify_remove_bus(bus);
	clear_bit (bus->busnum, busmap.busmap);
}