diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/evdev.c | 8 | ||||
-rw-r--r-- | src/evdev.h | 37 | ||||
-rw-r--r-- | src/evdev_axes.c | 18 | ||||
-rw-r--r-- | src/evdev_brain.c | 6 | ||||
-rw-r--r-- | src/evdev_btn.c | 11 | ||||
-rw-r--r-- | src/evdev_key.c | 9 | ||||
-rw-r--r-- | src/inotify-syscalls.h | 4 |
7 files changed, 41 insertions, 52 deletions
diff --git a/src/evdev.c b/src/evdev.c index ab9325e..69deef6 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -61,8 +61,6 @@ #include <X11/XF86keysym.h> #include <X11/extensions/XIproto.h> -#include <string.h> - #include "evdev.h" #include <xf86.h> @@ -328,7 +326,7 @@ EvdevNew(evdevDriverPtr driver, evdevDevicePtr device) } 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 @@ EvdevParseBits (char *in, long *out, int len) } 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 @@ EvdevCorePreInit(InputDriverPtr drv, IDevPtr dev, int flags) 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); diff --git a/src/evdev.h b/src/evdev.h index ffe8cc1..757ccc7 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -72,20 +72,29 @@ #include <stdarg.h> #include <xf86Xinput.h> +#ifndef BITS_PER_LONG #define BITS_PER_LONG (sizeof(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 LONG(x) ((x) >> (sizeof(unsigned long) + 1)) +#define MASK(x) (1 << ((x) & (sizeof (unsigned long) * 8 - 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 <sys/time.h> #include <sys/ioctl.h> -#include <asm/types.h> -#include <asm/bitops.h> #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 { diff --git a/src/evdev_axes.c b/src/evdev_axes.c index dbeb889..d1bafd9 100644 --- a/src/evdev_axes.c +++ b/src/evdev_axes.c @@ -49,14 +49,6 @@ #include <xf86_OSproc.h> -#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 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) 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 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) 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 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) 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 @@ EvdevAxisRelNew(InputInfoPtr pInfo) 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 @@ EvdevAxisRelNew(InputInfoPtr pInfo) 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]); diff --git a/src/evdev_brain.c b/src/evdev_brain.c index 7c854d8..6365577 100644 --- a/src/evdev_brain.c +++ b/src/evdev_brain.c @@ -86,7 +86,7 @@ typedef struct { } 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 @@ MatchAll (long *dev, long *match, int len) } static Bool -MatchNot (long *dev, long *match, int len) +MatchNot (unsigned long *dev, unsigned long *match, int len) { int i; @@ -110,7 +110,7 @@ MatchNot (long *dev, long *match, int len) } static Bool -MatchAny (long *dev, long *match, int len) +MatchAny (unsigned long *dev, unsigned long *match, int len) { int i, found = 0; diff --git a/src/evdev_btn.c b/src/evdev_btn.c index 4c25245..35edee1 100644 --- a/src/evdev_btn.c +++ b/src/evdev_btn.c @@ -51,15 +51,6 @@ #include <xf86Module.h> - -#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 @@ EvdevBtnNew(InputInfoPtr pInfo) 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; diff --git a/src/evdev_key.c b/src/evdev_key.c index af2c943..8917c3b 100644 --- a/src/evdev_key.c +++ b/src/evdev_key.c @@ -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 @@ EvdevKeyNew (InputInfoPtr pInfo) 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; } diff --git a/src/inotify-syscalls.h b/src/inotify-syscalls.h index 1431d46..c3a5051 100644 --- a/src/inotify-syscalls.h +++ b/src/inotify-syscalls.h @@ -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 |