09 Aug, 2008

1 commit


23 Jul, 2008

11 commits


22 Jul, 2008

2 commits

  • This patch renames the existing usb_reset_device in hub.c to
    usb_reset_and_verify_device and renames the existing
    usb_reset_composite_device to usb_reset_device. Also the new
    usb_reset_and_verify_device does't need to be EXPORTED .

    The idea of the patch is that external interface driver
    should warn the other interfaces' driver of the same
    device before and after reseting the usb device. One interface
    driver shoud call _old_ usb_reset_composite_device instead of
    _old_ usb_reset_device since it can't assume the device contains
    only one interface. The _old_ usb_reset_composite_device
    is safe for single interface device also. we rename the two
    functions to make the change easily.

    This patch is under guideline from Alan Stern.

    Signed-off-by: Ming Lei

    Ming Lei
     
  • From the current implementation of usb_reset_composite_device
    function, the iface parameter is no longer useful. This function
    doesn't do something special for the iface usb_interface,compared
    with other interfaces in the usb_device. So remove the parameter
    and fix the related caller.

    Signed-off-by: Ming Lei
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     

04 Jun, 2008

1 commit


20 May, 2008

4 commits

  • This patch removes CVS keywords that weren't updated for a long time
    from comments.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jiri Kosina

    Adrian Bunk
     
  • The new iMON LCDs from SoundGraph need to be blacklisted from HID in order to
    be used by lirc.

    Signed-off-by: Dylan R Semler
    Signed-off-by: Jiri Kosina

    Dylan R Semler
     
  • Microchip PICkit 1 and PICKit 2 USB Programmers are USB HID class of device but
    they are not real HID device. They are now supported by libusb based programs
    like the following programs.

    pk2 and pk2cmd Linux port:
    http://home.pacbell.net/theposts/picmicro/
    usb_pickit:
    http://tfc.duke.free.fr/pickit.html
    usb_pickit original version:
    http://charm.cs.uiuc.edu/users/olawlor/projects/2003/microchip/

    Therefore it ispreferred to blacklist them.

    Signed-off-by: Xiaofan Chen
    Signed-off-by: Jiri Kosina

    Xiaofan Chen
     
  • Since 2.6.25 the HID_QUIRK_APPLE_HAS_FN quirk is enabled even for
    non-laptop Apple keyboards of the Aluminium series. The USB version of
    these don't need Numlock emulation, like the laptop (and Aluminium
    Wireless) do, as they have a proper keypad.

    This patch splits the Numlock emulation for Apple keyboards in a
    different quirk flag, so that it can be enabled for all the keyboards
    but the Aluminium USB ones.

    If the Numlock emulation is enabled for Aluminium USB keyboards, the
    JKL and UIO keys become the numeric pad, and the rest of the keyboard
    is disabled, included the key used to disable Numlock.

    Additionally, these keyboard should not have a Numlock at all, as the
    Numlock key is instead replaced by the 'Clear' key as usual for Apple
    USB keyboards.

    Signed-off-by: Diego 'Flameeyes' Petteno
    Signed-off-by: Jiri Kosina

    Diego 'Flameeyes' Petteno
     

06 May, 2008

1 commit


29 Apr, 2008

1 commit


26 Apr, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits)
    Input: wacom - add support for Cintiq 20WSX
    Input: ucb1400_ts - IRQ probe fix
    Input: at32psif - update MODULE_AUTHOR with new email
    Input: mac_hid - add lockdep annotation to emumousebtn
    Input: i8042 - fix incorrect usage of strncpy and strncat
    Input: bf54x-keys - add infrastructure for keypad wakeups
    Input: add MODULE_ALIAS() to hotpluggable platform modules
    Input: drivers/char/keyboard.c - use time_after
    Input: fix ordering in joystick Makefile
    Input: wm97xx-core - support use as a wakeup source
    Input: wm97xx-core - use IRQF_SAMPLE_RANDOM
    Input: wm97xx-core - only schedule interrupt handler if not already scheduled
    Input: add Zhen Hua driver
    Input: aiptek - add support for Genius G-PEN 560 tablet
    Input: wacom - implement suspend and autosuspend
    Input: xpad - set proper buffer length for outgoing requests
    Input: omap-keypad - fix build warning
    Input: gpio_keys - irq handling cleanup
    Input: add PS/2 serio driver for AVR32 devices
    Input: put ledstate in the keyboard notifier
    ...

    Linus Torvalds
     

23 Apr, 2008

1 commit


22 Apr, 2008

16 commits

  • Samsung USB remotes (0419:0001) report six keys via standard HID usage pages
    (arrow keys, OK, Power). Kernel 2.6.25 maps those to input events (in addition
    to the hiddev report). The remaining 43 keys are reported via proprietary HID
    report page and therefore by hiddev only.

    Applications using hiddev and input device might process the 6 standard keys
    twice. To avoid this, the input device will be suppressed for the Samsung
    remote with a quirk entry, forcing to use the hiddev device only.

    LIRC already contains the proper support.

    Signed-off-by: Robert Schedel
    Signed-off-by: Jiri Kosina

    Robert Schedel
     
  • Jeremy Robertson reports that GTCO engineers made a mistake and we don't
    need 0x60x GTCO product ids blacklisted.

    This mostly reverts dda3fd35, but leaves PID 0x1007 intact.

    Reported-by: Jeremy Roberson
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • WiseGroup Ltd, MP-8866 Dual Joypad needs to skip output reports,
    as it contains force-feedback output reports.

    Reported-by: Anssi Hannula
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • There is no need to keep a few years old ThrustMaster force-feedback
    driver as experimental.

    HID_FF is currently marked experimental anyway, so this is even redundant.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Logitech diNovo Mini needs DUPLICATE_USAGES quirk.

    Reported-by: Tom Horsley
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • There is a window:

    task A task B
    spin_lock_irq(&usbhid->inlock); /* Sync with error handler */
    usb_set_intfdata(intf, NULL);
    spin_unlock_irq(&usbhid->inlock);
    usb_kill_urb(usbhid->urbin);
    usb_kill_urb(usbhid->urbout);
    usb_kill_urb(usbhid->urbctrl);

    del_timer_sync(&usbhid->io_retry);
    cancel_work_sync(&usbhid->reset_work);

    if (!hid->open++) {
    res = usb_autopm_get_interface(usbhid->intf);
    if (res < 0) {
    hid->open--;
    return -EIO;
    }
    }
    if (hid_start_in(hid))

    if (hid->claimed & HID_CLAIMED_INPUT)
    hidinput_disconnect(hid);

    in which an open() to an already disconnected device will submit an URB
    to an undead device. In case disconnect() was called by an ioctl, this'll
    oops. Fix by introducing a new flag and checking it in hid_start_in().

    Signed-off-by: Oliver Neukum
    Signed-off-by: Jiri Kosina

    Oliver Neukum
     
  • This patch makes the following needlessly global functions static:
    - hid-core.c:hid_input_field()
    - usbhid/hid-quirks.c:usbhid_modify_dquirk()

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jiri Kosina

    Adrian Bunk
     
  • This moves the misplaced rdesc quirk to the place where it belongs.

    Reported-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Add force feedback support for Logitech Rumblepad 2.

    Tested-By: Edgar Simo
    Signed-off-by: Anssi Hannula
    Signed-off-by: Jiri Kosina

    Anssi Hannula
     
  • Since only place where this is used is usbhid, move it there.

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • Fix these sparse warnings:
    .../hid/hid-core.c:100:15: warning: incorrect type in assignment (different signedness)
    .../hid/hid-core.c:100:15: expected signed int [usertype] *value
    .../hid/hid-core.c:100:15: got unsigned int *
    by unsigned -> s32

    .../hid/hid-input-quirks.c:336:10: warning: Using plain integer as NULL pointer
    by 0 -> NULL

    .../hid/usbhid/hid-core.c:786:46: warning: incorrect type in argument 3 (different signedness)
    .../hid/usbhid/hid-core.c:786:46: expected int *max
    .../hid/usbhid/hid-core.c:786:46: got unsigned int *
    .../hid/usbhid/hid-core.c:787:47: warning: incorrect type in argument 3 (different signedness)
    .../hid/usbhid/hid-core.c:787:47: expected int *max
    .../hid/usbhid/hid-core.c:787:47: got unsigned int *
    .../hid/usbhid/hid-core.c:788:48: warning: incorrect type in argument 3 (different signedness)
    .../hid/usbhid/hid-core.c:788:48: expected int *max
    .../hid/usbhid/hid-core.c:788:48: got unsigned int *
    by int -> unsigned int

    Signed-off-by: Jiri Slaby
    Signed-off-by: Jiri Kosina

    Jiri Slaby
     
  • This must be the weirdest failure yet. My external disk stops processing
    the storage commands the moment it receives a GET_REPORT. The firmware
    does not crash; if I do rmmod hid, then SET-INTERFACE restores normal
    operations. Still, I cannot live without the keyboard when I want backup
    my files. Adding the NOGET quirk fixes this problem for me.

    Signed-off-by: Pete Zaitcev
    Signed-off-by: Jiri Kosina

    Pete Zaitcev
     
  • This device has reports lower logical maximum compared to the real
    usages for Zoom+ and Zoom- it emits.

    This patch bumps the values in the report descriptor up, and also
    adjusts HID_MAX_USAGE accordingly.

    Reported-by: Khelben Blackstaff
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Microsoft's wireless desktop receiver (Model 1028) has a bug in the report
    descriptor -- namely, in four seperate places it uses USAGE_MIN and _MAX when
    it quite obviously doesn't intend to.

    In other words, it reports that it has pretty much _everything_ in 'consumer'
    and 'generic desktop'. And then the X evdev driver believes I have a mouse
    with 36 absolute axes and a huge pile of keys and buttons, when I in fact,
    should have zero. 255/256 in three of the cases, and 0-1024 in another.

    This patch fixes the report descriptor of this device before it enters the HID
    parser.

    Signed-off-by: Jim Duchek
    Signed-off-by: Jiri Kosina

    Jim Duchek
     
  • Many vendors highspeed devices give erroneously fullspeed interval value in
    endpoint descriptor for interrupt endpoints. This quirk fixes up that by
    recalculating the right value for highspeed device.

    At the time of hid configuration this quirk calculates which highspeed interval
    value gives same interval delay as, or next smaller then, what it would be if
    the original value would be interpreted as fullspeed value. In subsequent urbs
    that new value is used instead.

    Forming the 'hid->name' in usb_hid_config() was moved up to accommodate more
    descriptive printk reporting the fixup.

    In this patch the quirk is set for one such device: Afatech DVB-T 2 infrared
    HID-keyboard. It reports value 16 which means 4,069s in highspeed while
    obviously 16ms was intended. In this case quirk calculates new value to be 8
    which gives when interpreted as highspeed value 16ms as wanted. The behavior of
    the device was verified to be what expected both before and after the patch.

    Signed-off-by: Pekka Sarnila
    Signed-off-by: Jiri Kosina

    Pekka Sarnila
     
  • Fix build failure in hiddev_ioctl with gcc 3.2:
    http://bugzilla.kernel.org/show_bug.cgi?id=10121

    The trick is to move the handling of ioctls which need to allocate
    memory to separate functions.

    Signed-off-by: Jean Delvare
    Signed-off-by: Jiri Kosina

    Jean Delvare
     

16 Apr, 2008

1 commit