From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37886) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeEyD-0006LA-KG for qemu-devel@nongnu.org; Tue, 14 Oct 2014 23:09:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XeEy1-0004ub-Gr for qemu-devel@nongnu.org; Tue, 14 Oct 2014 23:09:49 -0400 Received: from cantor2.suse.de ([195.135.220.15]:49357 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeEy0-0004r4-WC for qemu-devel@nongnu.org; Tue, 14 Oct 2014 23:09:37 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 15 Oct 2014 05:09:13 +0200 Message-Id: <1413342561-4754-40-git-send-email-afaerber@suse.de> In-Reply-To: <1413342561-4754-1-git-send-email-afaerber@suse.de> References: <1413342561-4754-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL 39/47] usb: Convert usb devices to hotplug handler API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Gerd Hoffmann From: Igor Mammedov Signed-off-by: Igor Mammedov Signed-off-by: Andreas F=C3=A4rber --- hw/usb/bus.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hw/usb/bus.c b/hw/usb/bus.c index da1eba9..986b2d8 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -24,10 +24,12 @@ static Property usb_props[] =3D { static void usb_bus_class_init(ObjectClass *klass, void *data) { BusClass *k =3D BUS_CLASS(klass); + HotplugHandlerClass *hc =3D HOTPLUG_HANDLER_CLASS(klass); =20 k->print_dev =3D usb_bus_dev_print; k->get_dev_path =3D usb_get_dev_path; k->get_fw_dev_path =3D usb_get_fw_dev_path; + hc->unplug =3D qdev_simple_device_unplug_cb; } =20 static const TypeInfo usb_bus_info =3D { @@ -35,6 +37,10 @@ static const TypeInfo usb_bus_info =3D { .parent =3D TYPE_BUS, .instance_size =3D sizeof(USBBus), .class_init =3D usb_bus_class_init, + .interfaces =3D (InterfaceInfo[]) { + { TYPE_HOTPLUG_HANDLER }, + { } + } }; =20 static int next_usb_bus =3D 0; @@ -79,9 +85,9 @@ void usb_bus_new(USBBus *bus, size_t bus_size, USBBusOps *ops, DeviceState *host) { qbus_create_inplace(bus, bus_size, TYPE_USB_BUS, host, NULL); + qbus_set_bus_hotplug_handler(BUS(bus), &error_abort); bus->ops =3D ops; bus->busnr =3D next_usb_bus++; - bus->qbus.allow_hotplug =3D 1; /* Yes, we can */ QTAILQ_INIT(&bus->free); QTAILQ_INIT(&bus->used); QTAILQ_INSERT_TAIL(&busses, bus, next); @@ -701,7 +707,6 @@ static void usb_device_class_init(ObjectClass *klass,= void *data) { DeviceClass *k =3D DEVICE_CLASS(klass); k->bus_type =3D TYPE_USB_BUS; - k->unplug =3D qdev_simple_unplug_cb; k->realize =3D usb_qdev_realize; k->unrealize =3D usb_qdev_unrealize; k->props =3D usb_props; --=20 1.8.4.5