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

Ján Tomko jtomko at redhat.com
Thu Dec 5 10:11:20 UTC 2013


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.

> 
> 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.

> +    return 0;
> +
> +error:
> +    virReportOOMError();

*ALLOC and *ELEMENT already set the OOM error.

> +    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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131205/6215bd4e/attachment-0001.sig>


More information about the libvir-list mailing list