[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