On Mi, 2014-09-24 at 17:39 +0200, Igor Mammedov wrote: > On Wed, 24 Sep 2014 15:23:41 +0200 > Gerd Hoffmann <kra...@redhat.com> wrote: > > > Hi, > > > > > > Can't we do this in usb_bus_new instead of duplicating in every host > > > > adapter? > > > > > > So you would make TYPE_USB_BUS the hotplug handler itself, instead of > > > the controller? > > > > I was more thinking of just setting the callback in common code, but if > > we can attach the hotplug interface to the usb bus itself not the usb > > host adapters that would be even better. And it'll probably kill some > > headache for the companion controller case. > How making bus a HotplugHandler itself will help with companion controller?
When uhci acts as ehci companion it registers the ports with ehci and doesn't manage its own usb bus. ehci will call uhci port ops as needed (depending on ehci configuration). When attaching the hotplug interface to the host controller you'll have to explicitly handle the companion case somehow. When attaching the hotplug interface to the usb bus everything should just work. Additional bonus is that you also don't have to touch the host controller code at all then, it should be doable by changing hw/usb/bus.c only. cheers, Gerd