Hi, Roger Quadros writes: >>> What is wrong with calling it gadget controller? >> >> It's not a controller, it's a piece of software AFAIU. Or is my English just too weak? :-) > > Everything at this point is a piece of software :). > > struct usb_gadget, represents the gadget controller device not the > driver (or software). > > struct usb_gadget_driver represents the gadget function driver. > struct usb_gadget_ops represents the UDC driver ops. right, and usb_udc was added just to have a way of linking usb_gadget with usb_gadget_driver so we could have more than one peripheral port in a system. -- balbi