Returns a QObject with information about a USB device.

Signed-off-by: Nathan Baum <nat...@parenthephobia.org.uk>
---
 hw/usb-bus.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/hw/usb-bus.c b/hw/usb-bus.c
index 54027df..6d02807 100644
--- a/hw/usb-bus.c
+++ b/hw/usb-bus.c
@@ -3,6 +3,7 @@
 #include "qdev.h"
 #include "sysemu.h"
 #include "monitor.h"
+#include "qjson.h"
 
 static void usb_bus_dev_print(Monitor *mon, DeviceState *qdev, int indent);
 
@@ -232,6 +233,18 @@ static void usb_bus_dev_print(Monitor *mon, DeviceState 
*qdev, int indent)
                    dev->attached ? ", attached" : "");
 }
 
+static QObject *usb_bus_dev_info(Monitor *mon, DeviceState *qdev)
+{
+    USBDevice *dev = DO_UPCAST(USBDevice, qdev, qdev);
+    USBBus *bus = usb_bus_from_device(dev);
+    return qobject_from_jsonf("{'busnr': %d, 'addr':%d, 'speed': %s, 'desc': 
%s, 'attached': %i}",
+                              bus->busnr,
+                              dev->addr,
+                              usb_speed(dev->speed),
+                              dev->product_desc,
+                              dev->attached);
+}
+
 void usb_info(Monitor *mon)
 {
     USBBus *bus;
-- 
1.6.3.3



Reply via email to