NetBSD-Bugs archive

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

Re: kern/55103: /dev/wsmouse returns EINVAL



The following reply was made to PR kern/55103; it has been noted by GNATS.

From: Valery Ushakov <uwe%stderr.spb.ru@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: pgoyette%netbsd.org@localhost, mlelstv%serpens.de@localhost
Subject: Re: kern/55103: /dev/wsmouse returns EINVAL
Date: Fri, 3 Apr 2020 17:33:54 +0300

 On Fri, Apr 03, 2020 at 06:10:01 +0000, Michael van Elst wrote:
 
 >  http://ftp.netbsd.org/pub/NetBSD/misc/mlelstv/wsevent.diff
 >  
 >  Default is now the new version but you can configure it with sysctl.
 >  This also means that you now must configure it to get the compat
 >  behaviour (in addition to building with COMPAT_50 or loading the
 >  module).
 >  
 >  I thought about chosing the default default version depending on
 >  build parameters.
 >  
 >  For the COMPAT_50 case that's easy, just set the default based
 >  on that parameter.
 >  
 >  For the modular case it's difficult because you don't know if the
 >  module will be loaded later.
 >  
 >  Just using the new version seems to be the least confusing mode
 >  because its very clear what you get and what you need to do for
 >  the extremly rare case that you need the old protocol version.
 >  
 >  You can add more complexity to the decision process (i.e. by
 >  loading the module earlier, even when not needed). But that
 >  contradicts why the compat code is separated into a module
 >  in the first place.
 >  
 >  So, if absolute compatibility with the old protocol version
 >  is wanted, it's probably easier, and safer, to just reintegrate
 >  the code back (it's a single function of about 20 lines) and
 >  drop the module.
 
 Are we over-engineering this?  Previously with compat compiled in
 the behaviour was:
 
 - if you do not set version, you get old events (compat)
 - if you set the version you get that version
 
 let's just declare that beahviour standart, not compat.  fold the
 "old" code into the main driver and be done with it.
 
 "New" clients set teh version anyway, so there's not much need to have
 the new version as the default.
 
 Also, iirc, the old events were exactly aligned in hexdump output,
 which is nice, so I'd prefer if hexdump output uses the old format :)
 
 -uwe
 


Home | Main Index | Thread Index | Old Index