Loading drivers/input/joydev.c +3 −0 Original line number Diff line number Diff line Loading @@ -483,6 +483,9 @@ static int joydev_handle_JSIOCSAXMAP(struct joydev *joydev, memcpy(joydev->abspam, abspam, len); for (i = 0; i < joydev->nabs; i++) joydev->absmap[joydev->abspam[i]] = i; out: kfree(abspam); return retval; Loading drivers/input/misc/uinput.c +7 −0 Original line number Diff line number Diff line Loading @@ -404,6 +404,13 @@ static int uinput_setup_device(struct uinput_device *udev, const char __user *bu retval = uinput_validate_absbits(dev); if (retval < 0) goto exit; if (test_bit(ABS_MT_SLOT, dev->absbit)) { int nslot = input_abs_get_max(dev, ABS_MT_SLOT) + 1; input_mt_create_slots(dev, nslot); input_set_events_per_packet(dev, 6 * nslot); } else if (test_bit(ABS_MT_POSITION_X, dev->absbit)) { input_set_events_per_packet(dev, 60); } } udev->state = UIST_SETUP_COMPLETE; Loading drivers/input/tablet/wacom_sys.c +12 −11 Original line number Diff line number Diff line Loading @@ -103,27 +103,26 @@ static void wacom_sys_irq(struct urb *urb) static int wacom_open(struct input_dev *dev) { struct wacom *wacom = input_get_drvdata(dev); int retval = 0; mutex_lock(&wacom->lock); wacom->irq->dev = wacom->usbdev; if (usb_autopm_get_interface(wacom->intf) < 0) { mutex_unlock(&wacom->lock); if (usb_autopm_get_interface(wacom->intf) < 0) return -EIO; } mutex_lock(&wacom->lock); if (usb_submit_urb(wacom->irq, GFP_KERNEL)) { usb_autopm_put_interface(wacom->intf); mutex_unlock(&wacom->lock); return -EIO; retval = -EIO; goto out; } wacom->open = true; wacom->intf->needs_remote_wakeup = 1; out: mutex_unlock(&wacom->lock); return 0; if (retval) usb_autopm_put_interface(wacom->intf); return retval; } static void wacom_close(struct input_dev *dev) Loading @@ -135,6 +134,8 @@ static void wacom_close(struct input_dev *dev) wacom->open = false; wacom->intf->needs_remote_wakeup = 0; mutex_unlock(&wacom->lock); usb_autopm_put_interface(wacom->intf); } static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hid_desc, Loading Loading
drivers/input/joydev.c +3 −0 Original line number Diff line number Diff line Loading @@ -483,6 +483,9 @@ static int joydev_handle_JSIOCSAXMAP(struct joydev *joydev, memcpy(joydev->abspam, abspam, len); for (i = 0; i < joydev->nabs; i++) joydev->absmap[joydev->abspam[i]] = i; out: kfree(abspam); return retval; Loading
drivers/input/misc/uinput.c +7 −0 Original line number Diff line number Diff line Loading @@ -404,6 +404,13 @@ static int uinput_setup_device(struct uinput_device *udev, const char __user *bu retval = uinput_validate_absbits(dev); if (retval < 0) goto exit; if (test_bit(ABS_MT_SLOT, dev->absbit)) { int nslot = input_abs_get_max(dev, ABS_MT_SLOT) + 1; input_mt_create_slots(dev, nslot); input_set_events_per_packet(dev, 6 * nslot); } else if (test_bit(ABS_MT_POSITION_X, dev->absbit)) { input_set_events_per_packet(dev, 60); } } udev->state = UIST_SETUP_COMPLETE; Loading
drivers/input/tablet/wacom_sys.c +12 −11 Original line number Diff line number Diff line Loading @@ -103,27 +103,26 @@ static void wacom_sys_irq(struct urb *urb) static int wacom_open(struct input_dev *dev) { struct wacom *wacom = input_get_drvdata(dev); int retval = 0; mutex_lock(&wacom->lock); wacom->irq->dev = wacom->usbdev; if (usb_autopm_get_interface(wacom->intf) < 0) { mutex_unlock(&wacom->lock); if (usb_autopm_get_interface(wacom->intf) < 0) return -EIO; } mutex_lock(&wacom->lock); if (usb_submit_urb(wacom->irq, GFP_KERNEL)) { usb_autopm_put_interface(wacom->intf); mutex_unlock(&wacom->lock); return -EIO; retval = -EIO; goto out; } wacom->open = true; wacom->intf->needs_remote_wakeup = 1; out: mutex_unlock(&wacom->lock); return 0; if (retval) usb_autopm_put_interface(wacom->intf); return retval; } static void wacom_close(struct input_dev *dev) Loading @@ -135,6 +134,8 @@ static void wacom_close(struct input_dev *dev) wacom->open = false; wacom->intf->needs_remote_wakeup = 0; mutex_unlock(&wacom->lock); usb_autopm_put_interface(wacom->intf); } static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hid_desc, Loading