From: Vojtech P. <vo...@su...> - 2002-07-28 08:23:11
|
On Sun, Jul 28, 2002 at 05:45:37PM +1000, Brad Hards wrote: > On Tue, 23 Jul 2002 02:04, Vojtech Pavlik wrote: > > On Sun, Jul 21, 2002 at 08:50:56PM +1000, Brad Hards wrote: > > > G'day, > > > > > > The attached patch basically implements: > > > +struct input_devinfo { > > > + uint16_t bustype; > > > + uint16_t vendor; > > > + uint16_t product; > > > + uint16_t version; > > > +}; > > > + > > > > > > -#define EVIOCGID _IOR('E', 0x02, short[4]) > > > /* get device ID */ +#define EVIOCGID _IOR('E', 0x02, > > > struct input_devinfo) /* get device ID */ > > > > > > It affects just about every input driver, as a result of some associated > > > cleanups that I applied, and its about 40K uncompressed - hence the gzip. > > > > > > Is there anything that would stop this being applied? > > > > No, the patch is OK. > I am not happy about the change from uint16_t to __u16, which you appear > to have made before sending this to Linus. > > That is a broken change - there is a standard type, and you've changed > it to a non-standard type. This is confusing to userspace programmers, and > I cannot provide a satisfactory explaination for this in documentation. > > Please change it back. Well, I know this has been discussed back and forth. __u16 is a kernel type and is defined if you #include <linux/input.h>. uint16_t isn't. __u* is used extensively in the input API anyway, so you'd have to explain it to userspace programmers nevertheless. So I prefer keeping the input.h include use just one type of explicit sized types. Sure, we can change them all to uint*_t, but then do it all at once and provide a satisfactory explanation for it. ;) -- Vojtech Pavlik SuSE Labs |