Thread (24 messages) 24 messages, 6 authors, 2016-04-22

Re: [PATCH] Input: serio: make HYPERV_KEYBOARD depend on SERIO_I8042=y

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2014-08-12 06:01:50
Also in: lkml

On Tue, Aug 12, 2014 at 05:51:28AM +0000, Dexuan Cui wrote:
quoted
-----Original Message-----
From: Greg KH [mailto:gregkh@linuxfoundation.org]
quoted
Decoupling the dependency between hyperv_keyboard and i8042 needs
non-trivial efforts and is hence a long term goal.

For now, let's make the dependency explicit so people can beware of this.
You didn't make anyone "aware" of this, you just prevented people from
being able to select the module unless they build the driver into the
kernel, which isn't very nice.
Yes, exactly.
quoted
What exactly needs to be done to fix this "correctly" that is going to
take too much work at the moment?
Hi Greg,
The current implementation of hyperv-keyboard.c borrows
serio_interrupt() to pass the key strokes to the high level component.
serio_interrupt() actually depends on atkbd.c and i8042.c, so this doesn't
work for a Generation 2 hyper-v guest because no i8042 keyboard controller
is emulated: http://technet.microsoft.com/en-us/library/dn282285.aspx

To decouple the dependency between the hyperv-keyboard and i8042
modules, I suppose we probably have to re-implement hyperv-keyboard by
using input_allocate_device(), input_register_device(), and using
input_report_key() to pass the key strokes to the high level.
Yes, that would be the best thing to do, and shouldn't be that hard to
create an input driver, it's pretty simple code, right?
I'll have to need some time for further investigation and a new
implementation. Before the new code is completely ready, IMHO the
patch can help to avoid a bad user experience like Arch Linux working
as a Generation 2 hyper-v guest.
You are still preventing Arch from working here, as the driver can't be
built at all, right?
BTW, looks most of Linux distros (like RHEL, Ubuntu, SUSE) have
CONFIG_SERIO_I8042=y, probably because it's the result of
"make defconfig". So the patch actually doesn't affect these distros.
Or maybe it is beause they use older kernels and like to turn on every
single possible option :)

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help