diff options
author | Peter Crosthwaite <peter.crosthwaite@xilinx.com> | 2014-05-19 23:30:58 -0700 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2014-05-28 17:36:21 +0200 |
commit | a5f54290ceb31281158413d4cda1ca80908a56cc (patch) | |
tree | 9aef5977f457c66a93c1527ba4151a3b1f670eef /qdev-monitor.c | |
parent | 6b1b1440199c1a910b91bc9e029974f44746633d (diff) |
qdev: Implement named GPIOs
Implement named GPIOs on the Device layer. Listifies the existing GPIOs
stuff using string keys. Legacy un-named GPIOs are preserved by using
a NULL name string - they are just a single matchable element in the
name list.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'qdev-monitor.c')
-rw-r--r-- | qdev-monitor.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/qdev-monitor.c b/qdev-monitor.c index 02cbe43bce..f87f3d89cd 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -613,14 +613,20 @@ static void qdev_print(Monitor *mon, DeviceState *dev, int indent) { ObjectClass *class; BusState *child; + NamedGPIOList *ngl; + qdev_printf("dev: %s, id \"%s\"\n", object_get_typename(OBJECT(dev)), dev->id ? dev->id : ""); indent += 2; - if (dev->num_gpio_in) { - qdev_printf("gpio-in %d\n", dev->num_gpio_in); - } - if (dev->num_gpio_out) { - qdev_printf("gpio-out %d\n", dev->num_gpio_out); + QLIST_FOREACH(ngl, &dev->gpios, node) { + if (ngl->num_in) { + qdev_printf("gpio-in \"%s\" %d\n", ngl->name ? ngl->name : "", + ngl->num_in); + } + if (ngl->num_out) { + qdev_printf("gpio-out \"%s\" %d\n", ngl->name ? ngl->name : "", + ngl->num_out); + } } class = object_get_class(OBJECT(dev)); do { |