]> Pileus Git - ~andy/linux/blobdiff - drivers/input/joystick/gf2k.c
Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / drivers / input / joystick / gf2k.c
index 45ac70eae0aa7d95e5a61118cb45456b20abacea..0536b1b2f018e5d6838579e0dfb97f5d4e219880 100644 (file)
@@ -318,11 +318,8 @@ static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
        for (i = 0; i < gf2k_axes[gf2k->id]; i++)
                set_bit(gf2k_abs[i], input_dev->absbit);
 
-       for (i = 0; i < gf2k_hats[gf2k->id]; i++) {
-               set_bit(ABS_HAT0X + i, input_dev->absbit);
-               input_dev->absmin[ABS_HAT0X + i] = -1;
-               input_dev->absmax[ABS_HAT0X + i] = 1;
-       }
+       for (i = 0; i < gf2k_hats[gf2k->id]; i++)
+               input_set_abs_params(input_dev, ABS_HAT0X + i, -1, 1, 0, 0);
 
        for (i = 0; i < gf2k_joys[gf2k->id]; i++)
                set_bit(gf2k_btn_joy[i], input_dev->keybit);
@@ -334,11 +331,14 @@ static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
        gf2k_read(gf2k, data);
 
        for (i = 0; i < gf2k_axes[gf2k->id]; i++) {
-               input_dev->absmax[gf2k_abs[i]] = (i < 2) ? input_dev->abs[gf2k_abs[i]] * 2 - 32 :
-                         input_dev->abs[gf2k_abs[0]] + input_dev->abs[gf2k_abs[1]] - 32;
-               input_dev->absmin[gf2k_abs[i]] = 32;
-               input_dev->absfuzz[gf2k_abs[i]] = 8;
-               input_dev->absflat[gf2k_abs[i]] = (i < 2) ? 24 : 0;
+               int max = i < 2 ?
+                       input_abs_get_val(input_dev, gf2k_abs[i]) * 2 :
+                       input_abs_get_val(input_dev, gf2k_abs[0]) +
+                               input_abs_get_val(input_dev, gf2k_abs[1]);
+               int flat = i < 2 ? 24 : 0;
+
+               input_set_abs_params(input_dev, gf2k_abs[i],
+                                    32, max - 32, 8, flat);
        }
 
        err = input_register_device(gf2k->dev);