On Sat, Mar 31, 2018 at 01:21:42PM +0200, Marcus Folkesson wrote: > input_set_capability() and input_set_abs_param() will do it for you. > > Signed-off-by: Marcus Folkesson <marcus.folkesson@xxxxxxxxx> Applied, thank you. > --- > drivers/input/joystick/gamecon.c | 26 ++++++++++++++------------ > 1 file changed, 14 insertions(+), 12 deletions(-) > > diff --git a/drivers/input/joystick/gamecon.c b/drivers/input/joystick/gamecon.c > index 2ffb2e8bdc3b..e3a9ef3d5f5a 100644 > --- a/drivers/input/joystick/gamecon.c > +++ b/drivers/input/joystick/gamecon.c > @@ -862,7 +862,7 @@ static int gc_setup_pad(struct gc *gc, int idx, int pad_type) > > case GC_N64: > for (i = 0; i < 10; i++) > - __set_bit(gc_n64_btn[i], input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, gc_n64_btn[i]); > > for (i = 0; i < 2; i++) { > input_set_abs_params(input_dev, ABS_X + i, -127, 126, 0, 2); > @@ -879,26 +879,27 @@ static int gc_setup_pad(struct gc *gc, int idx, int pad_type) > break; > > case GC_SNESMOUSE: > - __set_bit(BTN_LEFT, input_dev->keybit); > - __set_bit(BTN_RIGHT, input_dev->keybit); > - __set_bit(REL_X, input_dev->relbit); > - __set_bit(REL_Y, input_dev->relbit); > + input_set_capability(input_dev, EV_KEY, BTN_LEFT); > + input_set_capability(input_dev, EV_KEY, BTN_RIGHT); > + input_set_capability(input_dev, EV_REL, REL_X); > + input_set_capability(input_dev, EV_REL, REL_Y); > break; > > case GC_SNES: > for (i = 4; i < 8; i++) > - __set_bit(gc_snes_btn[i], input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, gc_snes_btn[i]); > /* fall through */ > case GC_NES: > for (i = 0; i < 4; i++) > - __set_bit(gc_snes_btn[i], input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, gc_snes_btn[i]); > break; > > case GC_MULTI2: > - __set_bit(BTN_THUMB, input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, BTN_THUMB); > /* fall through */ > case GC_MULTI: > - __set_bit(BTN_TRIGGER, input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, BTN_TRIGGER); > + /* fall through */ > break; > > case GC_PSX: > @@ -906,15 +907,16 @@ static int gc_setup_pad(struct gc *gc, int idx, int pad_type) > input_set_abs_params(input_dev, > gc_psx_abs[i], 4, 252, 0, 2); > for (i = 0; i < 12; i++) > - __set_bit(gc_psx_btn[i], input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, gc_psx_btn[i]); > + break; > > break; > > case GC_DDR: > for (i = 0; i < 4; i++) > - __set_bit(gc_psx_ddr_btn[i], input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, gc_psx_ddr_btn[i]); > for (i = 0; i < 12; i++) > - __set_bit(gc_psx_btn[i], input_dev->keybit); > + input_set_capability(input_dev, EV_KEY, gc_psx_btn[i]); > > break; > } > -- > 2.16.2 > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html