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
     

29 Apr, 2008

2 commits


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
     

22 Apr, 2008

18 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
     
  • The numbered reports need to be passed properly to hidraw (i.e. with the first
    data field indicating the report number), otherwise userspace has no idea
    about the identification of the report.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • 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
     
  • Currently using debug=1 with hid module prints out all sent and received
    reports to the kernel log, while in many cases we only want to see the
    report descriptors and hid-input mappings that are printed when a device
    is probed.

    Add new level debug=2, and only dump the report traffic with that level.

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

    Anssi Hannula
     
  • 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


18 Mar, 2008

5 commits


14 Feb, 2008

1 commit


11 Feb, 2008

3 commits


28 Jan, 2008

5 commits

  • This patch adds blacklist entries in hid-quirks.c to let the usbhid driver
    ignore the si470x radio devices. They are now handled by the new radio-si470x
    driver.

    Signed-off-by: Tobias Lorenz
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jiri Kosina

    Tobias Lorenz
     
  • Logitech Extreme 3D needs NOGET quirk, otherwise it times out at
    the time of connect.

    Reported-by: Mike Sharov
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Following the suggestion of Jonas, this patch maps the special keys of
    the MS Presenter 8000 to targets that should allow for better re-mapping
    according to individual use cases (i.e. I avoided hard-wiring to
    standard keys). This time I also included the last missing key event
    (switching back from presentation mode).

    The optimal Xmodmap customization for using the Presenter with
    OpenOffice now looks like this for me:

    keycode 175 = Escape
    keycode 179 = F5
    keysym XF86Forward = Right
    keysym XF86Back = Left

    Signed-off-by: Jan Kiszka
    Signed-off-by: Jiri Kosina

    Jan Kiszka
     
  • 0x045e/0x0701 also needs the hid-input mapping quirk established by
    quirk_microsoft_presenter_8k().

    Reported-by: Jonas Delrue
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Samsung USB remotes (0419:0001) are rejected by kernel 2.6.23, because the
    report descriptor from the remote contains a 48 bit HID report field. HID 1.11
    states: Fields may span at most 4 bytes.

    This patch, based on 2.6.23, fixes this by modifying the internal report
    descriptor in hid-quirks.c. Additional user space support (e.g. LIRC) is
    required to fetch the information from the hiddev interface.

    The burden to reconstruct the data is moved into userspace (lirc through hiddev).
    There is no need to set HID_QUIRK_HIDDEV quirk, as the device has also output
    applications, which trigger the creation of hiddev device automatically.

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

    Robert Schedel