[PATCH 23/33] kvm tools: kbd initialization check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Check if i8042 is supported only within the initialization call itself, so that
builtin-run won't need to know which archs are supported by it.

Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx>
---
 tools/kvm/builtin-run.c       | 8 +++++---
 tools/kvm/hw/i8042.c          | 8 +++++++-
 tools/kvm/include/kvm/i8042.h | 2 +-
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c
index ac03b75..96a3d70 100644
--- a/tools/kvm/builtin-run.c
+++ b/tools/kvm/builtin-run.c
@@ -818,9 +818,11 @@ static int kvm_cmd_run_init(int argc, const char **argv)
 
 	kvm__init_ram(kvm);
 
-#ifdef CONFIG_X86
-	kbd__init(kvm);
-#endif
+	r = kbd__init(kvm);
+	if (r < 0) {
+		pr_err("kbd__init() failed with error %d\n", r);
+		goto fail;
+	}
 
 	r = pci_shmem__init(kvm);
 	if (r < 0) {
diff --git a/tools/kvm/hw/i8042.c b/tools/kvm/hw/i8042.c
index 40f8a38..fac54ca 100644
--- a/tools/kvm/hw/i8042.c
+++ b/tools/kvm/hw/i8042.c
@@ -339,10 +339,16 @@ static struct ioport_operations kbd_ops = {
 	.io_out		= kbd_out,
 };
 
-void kbd__init(struct kvm *kvm)
+int kbd__init(struct kvm *kvm)
 {
+#ifndef CONFIG_X86
+	return 0;
+#endif
+
 	kbd_reset();
 	state.kvm = kvm;
 	ioport__register(I8042_DATA_REG, &kbd_ops, 2, NULL);
 	ioport__register(I8042_COMMAND_REG, &kbd_ops, 2, NULL);
+
+	return 0;
 }
diff --git a/tools/kvm/include/kvm/i8042.h b/tools/kvm/include/kvm/i8042.h
index 13f18e2..3b4ab68 100644
--- a/tools/kvm/include/kvm/i8042.h
+++ b/tools/kvm/include/kvm/i8042.h
@@ -7,6 +7,6 @@ struct kvm;
 
 void mouse_queue(u8 c);
 void kbd_queue(u8 c);
-void kbd__init(struct kvm *kvm);
+int kbd__init(struct kvm *kvm);
 
 #endif
-- 
1.7.12

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux