| From 0db3305649c7e3037b48b9966974d64da6d53ccf Mon Sep 17 00:00:00 2001 |
| From: Marcus Folkesson <marcus.folkesson@gmail.com> |
| Date: Tue, 8 May 2018 15:17:07 -0700 |
| Subject: Input: xpad - avoid using __set_bit() for capabilities |
| |
| [ Upstream commit a01308031c2647ed5f1c845104b73a8820a958a9 ] |
| |
| input_set_capability() and input_set_abs_param() will do it for you. |
| |
| Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> |
| Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/input/joystick/xpad.c | 20 ++++++++++---------- |
| 1 file changed, 10 insertions(+), 10 deletions(-) |
| |
| diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c |
| index b6e172f22c16..5bf85c43e6d9 100644 |
| --- a/drivers/input/joystick/xpad.c |
| +++ b/drivers/input/joystick/xpad.c |
| @@ -1579,8 +1579,6 @@ static void xpad_set_up_abs(struct input_dev *input_dev, signed short abs) |
| { |
| struct usb_xpad *xpad = input_get_drvdata(input_dev); |
| |
| - set_bit(abs, input_dev->absbit); |
| - |
| switch (abs) { |
| case ABS_X: |
| case ABS_Y: |
| @@ -1599,6 +1597,9 @@ static void xpad_set_up_abs(struct input_dev *input_dev, signed short abs) |
| case ABS_HAT0Y: /* the d-pad (only if dpad is mapped to axes */ |
| input_set_abs_params(input_dev, abs, -1, 1, 0, 0); |
| break; |
| + default: |
| + input_set_abs_params(input_dev, abs, 0, 0, 0, 0); |
| + break; |
| } |
| } |
| |
| @@ -1639,10 +1640,7 @@ static int xpad_init_input(struct usb_xpad *xpad) |
| input_dev->close = xpad_close; |
| } |
| |
| - __set_bit(EV_KEY, input_dev->evbit); |
| - |
| if (!(xpad->mapping & MAP_STICKS_TO_NULL)) { |
| - __set_bit(EV_ABS, input_dev->evbit); |
| /* set up axes */ |
| for (i = 0; xpad_abs[i] >= 0; i++) |
| xpad_set_up_abs(input_dev, xpad_abs[i]); |
| @@ -1650,21 +1648,22 @@ static int xpad_init_input(struct usb_xpad *xpad) |
| |
| /* set up standard buttons */ |
| for (i = 0; xpad_common_btn[i] >= 0; i++) |
| - __set_bit(xpad_common_btn[i], input_dev->keybit); |
| + input_set_capability(input_dev, EV_KEY, xpad_common_btn[i]); |
| |
| /* set up model-specific ones */ |
| if (xpad->xtype == XTYPE_XBOX360 || xpad->xtype == XTYPE_XBOX360W || |
| xpad->xtype == XTYPE_XBOXONE) { |
| for (i = 0; xpad360_btn[i] >= 0; i++) |
| - __set_bit(xpad360_btn[i], input_dev->keybit); |
| + input_set_capability(input_dev, EV_KEY, xpad360_btn[i]); |
| } else { |
| for (i = 0; xpad_btn[i] >= 0; i++) |
| - __set_bit(xpad_btn[i], input_dev->keybit); |
| + input_set_capability(input_dev, EV_KEY, xpad_btn[i]); |
| } |
| |
| if (xpad->mapping & MAP_DPAD_TO_BUTTONS) { |
| for (i = 0; xpad_btn_pad[i] >= 0; i++) |
| - __set_bit(xpad_btn_pad[i], input_dev->keybit); |
| + input_set_capability(input_dev, EV_KEY, |
| + xpad_btn_pad[i]); |
| } |
| |
| /* |
| @@ -1681,7 +1680,8 @@ static int xpad_init_input(struct usb_xpad *xpad) |
| |
| if (xpad->mapping & MAP_TRIGGERS_TO_BUTTONS) { |
| for (i = 0; xpad_btn_triggers[i] >= 0; i++) |
| - __set_bit(xpad_btn_triggers[i], input_dev->keybit); |
| + input_set_capability(input_dev, EV_KEY, |
| + xpad_btn_triggers[i]); |
| } else { |
| for (i = 0; xpad_abs_triggers[i] >= 0; i++) |
| xpad_set_up_abs(input_dev, xpad_abs_triggers[i]); |
| -- |
| 2.17.1 |
| |