On 12/05/2013 09:17 AM, Li Zhang wrote:
From: Li Zhang <zhlcindy(a)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(a)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