[PATCH libevdev 2/2] Add a file to define missing bits for older kernels

Peter Hutterer peter.hutterer at who-t.net
Wed Oct 9 00:05:07 PDT 2013


On Tue, Oct 08, 2013 at 07:19:29PM -0400, Gaetan Nadon wrote:
> On 13-10-08 06:25 PM, Peter Hutterer wrote:
> > On Tue, Oct 08, 2013 at 10:03:11AM -0400, Gaetan Nadon wrote:
> >> On 13-10-08 12:58 AM, Peter Hutterer wrote:
> >>> This is a very simple patch for now, adding more bits gets complicated
> >>> really quickly. So let's just add the most recent bits for now.
> >>>
> >>> CC: Gaetan Nadon <memsize at videotron.ca>
> >>> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> >>> ---
> >>> I've got a larger patchset that enables a lot more bits including RHEL6 support but
> >>> I think for now we should just enable the most recent additions. It gets complicated
> >>> really quickly otherwise and until we actually start shipping libevdev on RHEL6 we
> >>> don't need to worry about more.
> >>     /home/nadon/xorg/src/libevdev/.git/rebase-apply/patch:73: new blank
> >>     line at EOF.
> >>     +
> >>     warning: 1 line adds whitespace errors.
> >>
> >>
> >>       CCLD   libevdev-events
> >>     ../libevdev/.libs/libevdev.so: undefined reference to `EVIOCGMTSLOTS'
> >>     collect2: ld returned 1 exit status
> >>     make[2]: *** [libevdev-events] Error 1
> > yikes. I was hoping that wasn't the case because handling that one would
> > require some more complicated bits. ok, let's ignore this patchset for now,
> > I'll spin the one with the more involved bits once I figure out how to test
> > for all permutations.
> >
> > for the archives: the difficult bit isn't to build on a kernel not
> > supporting this, but to _run_ on such a kernel when built with support for
> > the ioctl. 
> >
> > Gaetan, can you copy the #define below into your local libevdev-defines.h
> > and tell me what else is missing on your kernel?
> >
> > #define EVIOCGMTSLOTS(len)      _IOC(_IOC_READ, 'E', 0x0a, len)
> 
> Success!!!
> 
>     nadon at memsize:~/xorg/src/libevdev/libevdev/.libs$ ldd  libevdev.so.1.0.0
>         linux-vdso.so.1 =>  (0x00007fffb57ff000)
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe936385000)
>         /lib64/ld-linux-x86-64.so.2 (0x00007fe936973000)
> 
> 
> Not sure if this is the right location:

good enough for a local fix, for the repo this unfortunately requires a
rather more extensive patchset than a simple #define.

thanks for the info. for RHEL6 we'd also have to work around missing props,
but that should then cover most kernels out there.

Cheers,
   Peter
 
>     diff --git a/libevdev/libevdev-defines.h b/libevdev/libevdev-defines.h
>     index 1289ad7..b8ad75b 100644
>     --- a/libevdev/libevdev-defines.h
>     +++ b/libevdev/libevdev-defines.h
>     @@ -33,6 +33,7 @@
>      
>      #ifndef EVIOCSCLOCKID
>      #define EVIOCSCLOCKID           _IOW('E', 0xa0, int)
>     +#define EVIOCGMTSLOTS(len)      _IOC(_IOC_READ, 'E', 0x0a, len)
>      #endif
>      
>      #ifndef ABS_MT_TOOL_Y
> 
> 
>     Cheers,
>        Peter
> 
> >>
> >> Workstation:
> >> Linux memsize 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC
> >> 2013 x86_64 x86_64 x86_64 GNU/Linux
> >>
> 


More information about the Input-tools mailing list