On Sun, Jan 10, 2010 at 03:27:02PM +0300, Michael Tokarev wrote: > Dmitry Torokhov wrote: > > On Sun, Jan 10, 2010 at 02:01:08AM +0300, Michael Tokarev wrote: > >> Dmitry Torokhov wrote: > >> [] > >>>>> This is exactly what happens, to me and to the original bug reporter -- > >>>>> we both are running 32bit userspace and 64bit kernel. > >> [] > >>> Does the following patch fixes it for you guys? > >> No, Dmitry, it does not. It's buggy. > >> > >> With this patch applied, the bits are all completely wrong. > >> > [] > > Doh, amazing what min/max mixup will do. The patch below should fix > > that. > > With the fixup applied on top of previous patch, the whole thing > appears to work correctly. 2.6.32-amd64:
Great! Thank you very much for testing. > > 32bit grep: > /sys/devices/platform/i8042/serio4/input/input6/capabilities# grep . * > abs:11000003 > ev:b > ff:0 > key:6420 0 7000f 0 0 0 0 0 0 0 0 > led:0 > msc:0 > rel:0 > snd:0 > sw:0 > > 64bit grep: > /sys/devices/platform/i8042/serio4/input/input6/capabilities# ~/grep . * > abs:11000003 > ev:b > ff:0 > key:6420 7000f 0 0 0 0 > led:0 > msc:0 > rel:0 > snd:0 > sw:0 > > A few questions still: > > o I think the 'key' attribute used to be shorter previously, eliminating > unnecessary trailing zeros, but it is not anymore. Just curious. No, you can only eliminate leading zeroes, otherwise how would you know which is the starting bit? > > o How about other systems such as sparc 32/64 or power 32/64? I'm not > sure the patch is endian-clean. I believe it is endian clean because I am using shifts to get dwords out of u64 instead of trying to address them directly (which would require different handling on LE vs. BE). Thanks. -- Dmitry -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org