From: Anshul Garg <aksgarg1989@xxxxxxxxx> In joydev_connect function added check for event type before setting properties for that event. This will avoid dummy loop iterations which checks for event code even if event type is not set. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> --- drivers/input/joydev.c | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index f362883..a37a26c 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c @@ -797,27 +797,31 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev, joydev->handle.name = dev_name(&joydev->dev); joydev->handle.handler = handler; joydev->handle.private = joydev; + + if (test_bit(EV_ABS, dev->evbit)) { + for (i = 0; i < ABS_CNT; i++) + if (test_bit(i, dev->absbit)) { + joydev->absmap[i] = joydev->nabs; + joydev->abspam[joydev->nabs] = i; + joydev->nabs++; + } + } - for (i = 0; i < ABS_CNT; i++) - if (test_bit(i, dev->absbit)) { - joydev->absmap[i] = joydev->nabs; - joydev->abspam[joydev->nabs] = i; - joydev->nabs++; - } - - for (i = BTN_JOYSTICK - BTN_MISC; i < KEY_MAX - BTN_MISC + 1; i++) - if (test_bit(i + BTN_MISC, dev->keybit)) { - joydev->keymap[i] = joydev->nkey; - joydev->keypam[joydev->nkey] = i + BTN_MISC; - joydev->nkey++; - } - - for (i = 0; i < BTN_JOYSTICK - BTN_MISC; i++) - if (test_bit(i + BTN_MISC, dev->keybit)) { - joydev->keymap[i] = joydev->nkey; - joydev->keypam[joydev->nkey] = i + BTN_MISC; - joydev->nkey++; - } + if (test_bit(EV_KEY, dev->evbit)) { + for (i = BTN_JOYSTICK - BTN_MISC; i < KEY_MAX - BTN_MISC + 1; i++) + if (test_bit(i + BTN_MISC, dev->keybit)) { + joydev->keymap[i] = joydev->nkey; + joydev->keypam[joydev->nkey] = i + BTN_MISC; + joydev->nkey++; + } + + for (i = 0; i < BTN_JOYSTICK - BTN_MISC; i++) + if (test_bit(i + BTN_MISC, dev->keybit)) { + joydev->keymap[i] = joydev->nkey; + joydev->keypam[joydev->nkey] = i + BTN_MISC; + joydev->nkey++; + } + } for (i = 0; i < joydev->nabs; i++) { j = joydev->abspam[i]; -- 1.7.9.5 --- This email has been checked for viruses by Avast antivirus software. http://www.avast.com -- 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