diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-08-10 08:41:58 -0700 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-08-10 08:41:58 -0700 |
| commit | 5fc0d36c00e6a2d0a9f2a0a815cff5b9a13b080d (patch) | |
| tree | 819d3f27a826f29210398615f4918a4cd9154836 /drivers/input/joystick/sidewinder.c | |
| parent | d01d0756f75e7a5b4b43764ad45b83c4340f11d6 (diff) | |
| parent | 6ac8a99b906b01eaceef0057dbee4a225a32c423 (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'drivers/input/joystick/sidewinder.c')
| -rw-r--r-- | drivers/input/joystick/sidewinder.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/input/joystick/sidewinder.c b/drivers/input/joystick/sidewinder.c index ca13a6bec33..b8d86115644 100644 --- a/drivers/input/joystick/sidewinder.c +++ b/drivers/input/joystick/sidewinder.c @@ -761,17 +761,21 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv) input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); for (j = 0; (bits = sw_bit[sw->type][j]); j++) { + int min, max, fuzz, flat; + code = sw_abs[sw->type][j]; - set_bit(code, input_dev->absbit); - input_dev->absmax[code] = (1 << bits) - 1; - input_dev->absmin[code] = (bits == 1) ? -1 : 0; - input_dev->absfuzz[code] = ((bits >> 1) >= 2) ? (1 << ((bits >> 1) - 2)) : 0; - if (code != ABS_THROTTLE) - input_dev->absflat[code] = (bits >= 5) ? (1 << (bits - 5)) : 0; + min = bits == 1 ? -1 : 0; + max = (1 << bits) - 1; + fuzz = (bits >> 1) >= 2 ? 1 << ((bits >> 1) - 2) : 0; + flat = code == ABS_THROTTLE || bits < 5 ? + 0 : 1 << (bits - 5); + + input_set_abs_params(input_dev, code, + min, max, fuzz, flat); } for (j = 0; (code = sw_btn[sw->type][j]); j++) - set_bit(code, input_dev->keybit); + __set_bit(code, input_dev->keybit); dbg("%s%s [%d-bit id %d data %d]\n", sw->name, comment, m, l, k); |
