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

KY Srinivasan kys at microsoft.com
Tue Aug 12 18:01:54 UTC 2014



> -----Original Message-----
> From: Dmitry Torokhov [mailto:dmitry.torokhov at gmail.com]
> Sent: Tuesday, August 12, 2014 10:55 AM
> To: Dexuan Cui
> Cc: Greg KH; linux-input at vger.kernel.org; linux-kernel at vger.kernel.org;
> driverdev-devel at linuxdriverproject.org; olaf at aepfle.de;
> apw at canonical.com; jasowang at redhat.com; KY Srinivasan; Haiyang Zhang
> Subject: Re: [PATCH] Input: serio: make HYPERV_KEYBOARD depend on
> SERIO_I8042=y
> 
> On Tue, Aug 12, 2014 at 07:15:25AM +0000, Dexuan Cui wrote:
> > > -----Original Message-----
> > > From: linux-kernel-owner at vger.kernel.org [mailto:linux-kernel-
> > > owner at vger.kernel.org] On Behalf Of Greg KH
> > > > > What exactly needs to be done to fix this "correctly" that is
> > > > > going to take too much work at the moment?
> > > >
> > > > 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,
> 
> Why? The backend still delivers AT keyboard data, so why does it make sense
> to write a new driver instead of making sure you can load
> atkbd/libps2 even without i8042 loaded?
> 
> > > and shouldn't be that hard to
> > > create an input driver, it's pretty simple code, right?
> > Hi Greg,
> > Thanks for the confirmation!
> > I didn't use the APIs before.
> > I think I need a couple of days to code, test and debug it while I
> > have many  things at hand at present. :-(
> >
> > > > 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?
> > The driver can build(compile) fine.
> > The issue is: the latest Arch Linux release doesn't have a working
> > (virtual) keyboard when it runs as Generation 2 hyper-v guest -- when
> > it runs as a "traditional" Generation 1 hyper-v guest, everything works fine.
> > I hope this patch can temporarily help Arch users if they find the
> > issue and if they can rebuild the kernel.
> 
> The Arch users can simply select to build i8042 into the kernel as a
> workaround.
> 
> The proper solution is to allow loading libps2 module even if i8042 did not find
> its device. I wish I could simply drop this i8042_lock_chip and stuff, but
> unfortunately i8042 ports are not truly independent. We need to figure a
> way for libps2 to engage locking in i8042 if the driver is loaded, otherwise just
> ignore it.

When I first wrote this driver, we took the decision not to replicate all the code in the at keyboard driver and to
make this  a serio based driver. I like the proposal made by Dmitry here.

Regards,

K. Y


More information about the devel mailing list