snprintf(bus->class_dev.class_id, BUS_ID_SIZE, "usb%d", busnum); bus->class_dev.dev = bus->controller; retval = class_device_add(&bus->class_dev); if (retval) { 
bus->class_dev = class_device_create(usb_host_class, MKDEV(0,0), bus->controller, "usb%d", busnum); if (IS_ERR(bus->class_dev)) { 
static int usb_register_bus(struct usb_bus *bus){	int busnum;	int retval;	down (&usb_bus_list_lock);	busnum = find_next_zero_bit (busmap.busmap, USB_MAXBUS, 1);	if (busnum < USB_MAXBUS) {		set_bit (busnum, busmap.busmap);		bus->busnum = busnum;	} else {		printk (KERN_ERR "%s: too many buses\n", usbcore_name);		up(&usb_bus_list_lock);		return -E2BIG;	}	snprintf(bus->class_dev.class_id, BUS_ID_SIZE, "usb%d", busnum);	bus->class_dev.dev = bus->controller;	retval = class_device_add(&bus->class_dev);	if (retval) {		clear_bit(busnum, busmap.busmap);		up(&usb_bus_list_lock);		return retval;	}	/* Add it to the local list of buses */	list_add (&bus->bus_list, &usb_bus_list);	up (&usb_bus_list_lock);	usbfs_add_bus (bus);	usbmon_notify_bus_add (bus);	dev_info (bus->controller, "new USB bus registered, assigned bus number %d\n", bus->busnum);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8561b10f6e7ef0a085709ffc844f74130a067abe/hcd.c/clean/drivers/usb/core/hcd.c