Only allow a GPIO name to be one or the other. Inputs and outputs are functionally different and should be in different namespaces. Prepares support for the QOMification of IRQs as Links.
Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> --- hw/core/qdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 8efeb04..3330838 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -338,6 +338,7 @@ void qdev_init_gpio_in_named(DeviceState *dev, qemu_irq_handler handler, { NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name); + assert(gpio_list->num_out == 0 || !name); gpio_list->in = qemu_extend_irqs(gpio_list->in, gpio_list->num_in, handler, dev, n); gpio_list->num_in += n; @@ -353,6 +354,7 @@ void qdev_init_gpio_out_named(DeviceState *dev, qemu_irq *pins, { NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name); + assert(gpio_list->num_in == 0 || !name); assert(gpio_list->num_out == 0); gpio_list->num_out = n; gpio_list->out = pins; -- 1.9.3.1.ga73a6ad