Index: ChangeLog =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/ChangeLog,v retrieving revision 1.26 retrieving revision 1.28 diff -u -B -r1.26 -r1.28 --- ChangeLog 30 Apr 2006 21:39:08 -0000 1.26 +++ ChangeLog 15 May 2006 22:47:23 -0000 1.28 @@ -1,3 +1,42 @@ +2006-05-15 Zephaniah E. Hull,,, + + * src/evdev.h: + Hopefully fix the bitops stuff to actually _work_. + +2006-05-14 Zephaniah E. Hull + + * man/evdev.man: + Tweak credits and references. + * src/evdev.c: (EvdevParseBits), (EvdevParseBitOption), + (EvdevCorePreInit): + Change the longs to unsigned longs in the bitfields. + + Cleanup our includes. + * src/evdev.h: + Stop pulling in asm/types.h and asm/bitops.h. + + Conditionally define the stuff that used to come from + the above, including our own test_bit, set_bit and clear_bit. + + Change the longs to unsigned longs in the bitfields. + * src/evdev_axes.c: (EvdevAxisAbsNew), (EvdevAxisRelNew): + Change the longs to unsigned longs in the bitfields. + + Use the bitop defines in evdev.h properly. + * src/evdev_brain.c: (MatchAll), (MatchNot), (MatchAny): + Change the longs to unsigned longs in the bitfields. + * src/evdev_btn.c: (EvdevBtnNew): + Change the longs to unsigned longs in the bitfields. + + Use the bitop defines in evdev.h properly. + * src/evdev_key.c: (EvdevKeyNew): + Change the longs to unsigned longs in the bitfields. + + Use the bitop defines in evdev.h properly. + * src/inotify-syscalls.h: + Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto + ) + 2006-04-30 Zephaniah E. Hull * configure.ac: Index: man/evdev.man =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/man/evdev.man,v retrieving revision 1.3 retrieving revision 1.4 diff -u -B -r1.3 -r1.4 --- man/evdev.man 16 Mar 2006 13:05:04 -0000 1.3 +++ man/evdev.man 14 May 2006 11:55:50 -0000 1.4 @@ -312,16 +312,11 @@ .BI "Option \*qXkbOptions\*q \*q" options \*q specifies the XKB keyboard option components. These can be used to enhance the keyboard behaviour. Default: not set. -.PP -Some other XKB-related options are available, but they are incompatible -with the ones listed above and are not recommended, so they are not -documented here. -.TP 7 +.PP .SH AUTHORS -Kristian Høgsberg. -.fi Zephaniah E. Hull. +.fi +Kristian Høgsberg. .SH "SEE ALSO" -__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), -README.mouse. +__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__). Index: src/evdev.c =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/evdev.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -B -r1.18 -r1.19 --- src/evdev.c 9 Apr 2006 00:41:42 -0000 1.18 +++ src/evdev.c 14 May 2006 11:55:50 -0000 1.19 @@ -61,8 +61,6 @@ #include #include -#include - #include "evdev.h" #include @@ -328,7 +326,7 @@ } static void -EvdevParseBits (char *in, long *out, int len) +EvdevParseBits (char *in, unsigned long *out, int len) { unsigned long v[2]; int n, i, max_bits = len * BITS_PER_LONG; @@ -351,7 +349,7 @@ } static void -EvdevParseBitOption (char *opt, long *all, long *not, long *any, int len) +EvdevParseBitOption (char *opt, unsigned long *all, unsigned long *not, unsigned long *any, int len) { char *cur, *next; @@ -395,7 +393,7 @@ EvdevParseBitOption (tmp, pEvdev->all_bits.field, \ pEvdev->not_bits.field, \ pEvdev->any_bits.field, \ - sizeof(pEvdev->not_bits.field) / sizeof (long)); \ + sizeof(pEvdev->not_bits.field) / sizeof (unsigned long)); \ free (tmp); \ } bitoption(ev); Index: src/evdev.h =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/evdev.h,v retrieving revision 1.5 retrieving revision 1.7 diff -u -B -r1.5 -r1.7 --- src/evdev.h 14 Apr 2006 07:01:37 -0000 1.5 +++ src/evdev.h 15 May 2006 22:47:23 -0000 1.7 @@ -72,20 +72,29 @@ #include #include -#define BITS_PER_LONG (sizeof(long) * 8) +#ifndef BITS_PER_LONG +#define BITS_PER_LONG (sizeof(unsigned long) * 8) +#endif + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) -#define OFF(x) ((x)%BITS_PER_LONG) #define LONG(x) ((x)/BITS_PER_LONG) -#define BIT(x) (1UL<<((x)%BITS_PER_LONG)) -#define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) +#define MASK(x) (1UL << ((x) & (BITS_PER_LONG - 1))) + +#ifndef test_bit +#define test_bit(bit, array) (!!(array[LONG(bit)] & MASK(bit))) +#endif +#ifndef set_bit +#define set_bit(bit, array) (array[LONG(bit)] |= MASK(bit)) +#endif +#ifndef clear_bit +#define clear_bit(bit, array) (array[LONG(bit)] &= ~MASK(bit)) +#endif /* 2.4 compatibility */ #ifndef EVIOCGSW #include #include -#include -#include #define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */ @@ -128,14 +137,14 @@ #define EVDEV_MAXBUTTONS 96 typedef struct { - long ev[NBITS(EV_MAX)]; - long key[NBITS(KEY_MAX)]; - long rel[NBITS(REL_MAX)]; - long abs[NBITS(ABS_MAX)]; - long msc[NBITS(MSC_MAX)]; - long led[NBITS(LED_MAX)]; - long snd[NBITS(SND_MAX)]; - long ff[NBITS(FF_MAX)]; + unsigned long ev[NBITS(EV_MAX)]; + unsigned long key[NBITS(KEY_MAX)]; + unsigned long rel[NBITS(REL_MAX)]; + unsigned long abs[NBITS(ABS_MAX)]; + unsigned long msc[NBITS(MSC_MAX)]; + unsigned long led[NBITS(LED_MAX)]; + unsigned long snd[NBITS(SND_MAX)]; + unsigned long ff[NBITS(FF_MAX)]; } evdevBitsRec, *evdevBitsPtr; typedef struct { Index: src/evdev_axes.c =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/evdev_axes.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -B -r1.3 -r1.4 --- src/evdev_axes.c 14 Apr 2006 07:01:37 -0000 1.3 +++ src/evdev_axes.c 14 May 2006 11:55:50 -0000 1.4 @@ -49,14 +49,6 @@ #include -#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) - -#define BITS_PER_LONG (sizeof(long) * 8) -#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) -#define OFF(x) ((x)%BITS_PER_LONG) -#define LONG(x) ((x)/BITS_PER_LONG) -#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) - static char *rel_axis_names[] = { "X", "Y", @@ -328,7 +320,7 @@ real_axes = 0; for (i = 0; i < ABS_MAX; i++) - if (TestBit (i, pEvdev->bits.abs)) + if (test_bit (i, pEvdev->bits.abs)) real_axes++; if (!real_axes) @@ -344,7 +336,7 @@ pInfo->conversion_proc = EvdevConvert; for (i = 0, j = 0; i < ABS_MAX; i++) { - if (!TestBit (i, pEvdev->bits.abs)) + if (!test_bit (i, pEvdev->bits.abs)) continue; snprintf(option, sizeof(option), "%sAbsoluteAxisMap", abs_axis_names[i]); @@ -389,7 +381,7 @@ xf86Msg(X_CONFIG, "%s: Unknown Mode: %s.\n", pInfo->name, s); } - if (TestBit (ABS_X, pEvdev->bits.abs) && TestBit (ABS_Y, pEvdev->bits.abs)) + if (test_bit (ABS_X, pEvdev->bits.abs) && test_bit (ABS_Y, pEvdev->bits.abs)) k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", 0); else k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", -1); @@ -417,7 +409,7 @@ real_axes = 0; for (i = 0; i < REL_MAX; i++) - if (TestBit (i, pEvdev->bits.rel)) + if (test_bit (i, pEvdev->bits.rel)) real_axes++; if (!real_axes && (!state->abs || state->abs->axes < 2)) @@ -434,7 +426,7 @@ pInfo->conversion_proc = EvdevConvert; for (i = 0, j = 0; i < REL_MAX; i++) { - if (!TestBit (i, pEvdev->bits.rel)) + if (!test_bit (i, pEvdev->bits.rel)) continue; snprintf(option, sizeof(option), "%sRelativeAxisMap", rel_axis_names[i]); Index: src/evdev_brain.c =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/evdev_brain.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -B -r1.8 -r1.9 --- src/evdev_brain.c 30 Apr 2006 21:39:08 -0000 1.8 +++ src/evdev_brain.c 14 May 2006 11:55:50 -0000 1.9 @@ -86,7 +86,7 @@ } evdevDevInfoRec, *evdevDevInfoPtr; static Bool -MatchAll (long *dev, long *match, int len) +MatchAll (unsigned long *dev, unsigned long *match, int len) { int i; @@ -98,7 +98,7 @@ } static Bool -MatchNot (long *dev, long *match, int len) +MatchNot (unsigned long *dev, unsigned long *match, int len) { int i; @@ -110,7 +110,7 @@ } static Bool -MatchAny (long *dev, long *match, int len) +MatchAny (unsigned long *dev, unsigned long *match, int len) { int i, found = 0; Index: src/evdev_btn.c =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/evdev_btn.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -B -r1.7 -r1.8 --- src/evdev_btn.c 14 Apr 2006 07:01:37 -0000 1.7 +++ src/evdev_btn.c 14 May 2006 11:55:50 -0000 1.8 @@ -51,15 +51,6 @@ #include - -#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) - -#define BITS_PER_LONG (sizeof(long) * 8) -#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) -#define OFF(x) ((x)%BITS_PER_LONG) -#define LONG(x) ((x)/BITS_PER_LONG) -#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) - void EvdevBtnPostFakeClicks(InputInfoPtr pInfo, int button, int count) { @@ -186,7 +177,7 @@ state->btn = Xcalloc (sizeof (evdevBtnRec)); for (i = BTN_MISC; i < (KEY_OK - 1); i++) - if (TestBit (i, pEvdev->bits.key)) { + if (test_bit (i, pEvdev->bits.key)) { bit = i; if ((bit >= BTN_MOUSE) && (bit < BTN_JOYSTICK)) { bit -= BTN_MOUSE - BTN_MISC; Index: src/evdev_key.c =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/evdev_key.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -B -r1.8 -r1.9 --- src/evdev_key.c 8 Apr 2006 17:23:06 -0000 1.8 +++ src/evdev_key.c 14 May 2006 11:55:50 -0000 1.9 @@ -81,11 +81,6 @@ #define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) -#define BITS_PER_LONG (sizeof(long) * 8) -#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) -#define OFF(x) ((x)%BITS_PER_LONG) -#define LONG(x) ((x)/BITS_PER_LONG) -#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) #define MIN_KEYCODE 8 #define GLYPHS_PER_KEY 2 @@ -356,13 +351,13 @@ int i, keys = 0; for (i = 0; i <= KEY_UNKNOWN; i++) - if (TestBit (i, pEvdev->bits.key)) { + if (test_bit (i, pEvdev->bits.key)) { keys = 1; break; } if (!keys) for (i = KEY_OK; i <= KEY_MAX; i++) - if (TestBit (i, pEvdev->bits.key)) { + if (test_bit (i, pEvdev->bits.key)) { keys = 1; break; } Index: src/inotify-syscalls.h =================================================================== RCS file: /cvs/xorg/driver/xf86-input-evdev/src/inotify-syscalls.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -B -r1.1 -r1.2 --- src/inotify-syscalls.h 8 Apr 2006 21:55:17 -0000 1.1 +++ src/inotify-syscalls.h 14 May 2006 11:55:50 -0000 1.2 @@ -39,6 +39,10 @@ # define __NR_inotify_init 290 # define __NR_inotify_add_watch 291 # define __NR_inotify_rm_watch 292 +#elif defined (__hppa__) || defined (__hppa64__) +# define __NR_inotify_init 269 +# define __NR_inotify_add_watch 270 +# define __NR_inotify_rm_watch 271 #else # error "Unsupported architecture!" #endif