[libvirt] [PATCH v2 1/5] conf: Add a keyboard input device type

Li Zhang zhlcindy at gmail.com
Fri Dec 6 06:15:08 UTC 2013


On 2013年12月05日 18:11, Ján Tomko wrote:
> On 12/05/2013 09:17 AM, Li Zhang wrote:
>> From: Li Zhang <zhlcindy at linux.vnet.ibm.com>
>>
>> There is no keyboard for PPC64 platform when grapchic is enabled.
> s/grapchic is/graphics are/
>
>> It's preferred to add one USB keyboard.
>>
>> This patch is to add keyboard input device type.
> It also splits out 'virDomainDefMaybeAddInput', which would be nicer in a
> separate commit IMO.

Thanks for your reviewing.
OK, I will do it in my next version.

>
>> Signed-off-by: Li Zhang <zhlcindy at linux.vnet.ibm.com>
>> ---
>>   src/conf/domain_conf.c   | 62 +++++++++++++++++++++++++++++++++++-------------
>>   src/conf/domain_conf.h   |  5 ++++
>>   src/libvirt_private.syms |  1 +
>>   3 files changed, 51 insertions(+), 17 deletions(-)
>>
>> @@ -10821,6 +10822,41 @@ virDomainDefMaybeAddController(virDomainDefPtr def,
>>       return 0;
>>   }
>>   
>> +int
>> +virDomainDefMaybeAddInput(virDomainDefPtr def,
>> +                               int type,
>> +                               int bus)
>> +{
>> +    size_t i;
>> +    virDomainInputDefPtr input;
>> +
>> +    for (i = 0; i < def->ninputs; i++) {
>> +        if (def->inputs[i]->type == type &&
>> +            def->inputs[i]->bus == bus)
>> +            return 0;
>> +    }
>> +
>> +    if (VIR_ALLOC(input) < 0) {
>> +        goto error;
>> +    }
>> +    input->type = type;
>> +    input->bus = bus;
>> +
>> +    if (VIR_REALLOC_N(def->inputs, def->ninputs + 1) < 0) {
>> +        virDomainInputDefFree(input);
>> +        goto error;
>> +    }
>> +
>> +    def->inputs[def->ninputs] = input;
>> +    def->ninputs ++;
> VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input) will do all this
> and set input to NULL if it was successfully added - you can call InputDefFree
> unconditionally.

Got it, thanks.
>
>> +    return 0;
>> +
>> +error:
>> +    virReportOOMError();
> *ALLOC and *ELEMENT already set the OOM error.

ok, I see.
>
>> +    return -1;
>> +}
>> +
>> +
>>   
>>   /* Parse a memory element located at XPATH within CTXT, and store the
>>    * result into MEM.  If REQUIRED, then the value must exist;
> Jan
>




More information about the libvir-list mailing list