qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 20/20] debug/test patch: allow specify busnr for -us


From: Gerd Hoffmann
Subject: [Qemu-devel] [PATCH 20/20] debug/test patch: allow specify busnr for -usbdevice
Date: Mon, 29 Jun 2009 14:46:21 +0200

i.e. -usbdevice tablet,busnr=1

Signed-off-by: Gerd Hoffmann <address@hidden>
---
 vl.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/vl.c b/vl.c
index 0462892..cfcf437 100644
--- a/vl.c
+++ b/vl.c
@@ -2649,16 +2649,31 @@ static struct {
     }
 };
 
-static int usb_device_add(const char *devname, int is_hotplug)
+static int usb_device_add(const char *config, int is_hotplug)
 {
     const char *p;
-    USBBus *bus = usb_bus_find(-1 /* any */);
+    char devname[32], buf[32], *params;
+    int busnr = -1; /* any */
+    USBBus *bus;
     USBDevice *dev = NULL;
     int i;
 
     if (!usb_enabled)
         return -1;
 
+    pstrcpy(devname, sizeof(devname), config);
+    if ((params = strchr(devname,',')) != NULL) {
+        *params = 0;
+        params++;
+        if (get_param_value(buf, sizeof(buf), "busnr", params))
+            busnr = atoi(buf);
+    }
+
+    bus = usb_bus_find(busnr);
+    if (!bus)
+        return -1;
+    fprintf(stderr, "%s: busnr=%d, bus=%s\n", __FUNCTION__, busnr, 
bus->qbus.name);
+
     /* simple devices which don't need extra care */
     for (i = 0; i < ARRAY_SIZE(usbdevs); i++) {
         if (strcmp(devname, usbdevs[i].name) != 0)
-- 
1.6.2.5





reply via email to

[Prev in Thread] Current Thread [Next in Thread]