|
|
i.e. -usbdevice tablet,busnr=1
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
---
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
|
|