On Tue, Aug 12, 2014 at 7:19 PM, Alexander Graf <[email protected]> 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 <[email protected]>
>> ---
>>
>> 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) {
>
>
>