On Tue, Aug 12, 2014 at 7:19 PM, Alexander Graf <ag...@suse.de> wrote: > > On 04.08.14 03:58, Peter Crosthwaite wrote: >> >> Previously this was restricted to a single call per-dev/per-name. With >> the conversion of the GPIO output state to QOM the implementation can >> now handle repeated calls. Remove the restriction. >> >> Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> >> --- >> >> hw/core/qdev.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/hw/core/qdev.c b/hw/core/qdev.c >> index 77b0b09..bf2c227 100644 >> --- a/hw/core/qdev.c >> +++ b/hw/core/qdev.c >> @@ -366,8 +366,7 @@ void qdev_init_gpio_out_named(DeviceState *dev, >> qemu_irq *pins, > > > Maybe rename it to _add rather than _init then? >
Hmmm that's a tree-wide (unless we allow the _named variant to have inconsistent naming with the well used qdev_init_gpio_out). This change does make the behaviour consistent with current qdev_init_gpio_in behav where you are already allowed multiple calls: qdev_init_gpio_in(dev, foo, ...); qdev_init_gpio_in(dev, bar, ...); Perhaps fix them both together with the tree wide as follow up? Regards, Peter > > Alex > > >> 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->num_out += n; >> char *propname = g_strdup_printf("%s[*]", name ? name : >> "unnamed-gpio-out"); >> for (i = 0; i < n; ++i) { > > >