19 Aug, 2007

1 commit


02 Aug, 2007

6 commits


13 Jul, 2007

2 commits

  • This patch (as918) introduces a new USB driver method: reset_resume.
    It is called when a device needs to be reset as part of a resume
    procedure (whether because of a device quirk or because of the
    USB-Persist facility), thereby taking over a role formerly assigned to
    the post_reset method. As a consequence, post_reset no longer needs
    an argument indicating whether it is being called as part of a
    reset-resume. This separation of functions makes the code clearer.

    In addition, the pre_reset and post_reset method return types are
    changed; they now must return an error code. The return value is
    unused at present, but at some later time we may unbind drivers and
    re-probe if they encounter an error during reset handling.

    The existing pre_reset and post_reset methods in the usbhid,
    usb-storage, and hub drivers are updated to match the new
    requirements. For usbhid the post_reset routine is also used for
    reset_resume (duplicate method pointers); for the other drivers a new
    reset_resume routine is added. The change to hub.c looks bigger than
    it really is, because mark_children_for_reset_resume() gets moved down
    next to the new hub_reset_resume() routine.

    A minor change to usb-storage makes the usb_stor_report_bus_reset()
    routine acquire the host lock instead of requiring the caller to hold
    it already.

    Signed-off-by: Alan Stern
    Signed-off-by: Jiri Kosina
    CC: Matthew Dharm
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as886) adds the controversial USB-persist facility,
    allowing USB devices to persist across a power loss during system
    suspend.

    The facility is controlled by a new Kconfig option (with appropriate
    warnings about the potential dangers); when the option is off the
    behavior will remain the same as it is now. But when the option is
    on, people will be able to use suspend-to-disk and keep their USB
    filesystems intact -- something particularly valuable for small
    machines where the root filesystem is on a USB device!

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

09 Jul, 2007

15 commits

  • Jiri Kosina
     
  • There are some devices (for example Dell Multimedia Keyboard SK-8135) that have
    a volume control knob which generates relative events instead of absolute.
    hid-input maps them to ABS_VOLUME. HUT pages don't restrict volume to absolute
    values.

    Adding REL_VOLUME doesn't seem feasible, nothing knows how to handle it. This
    patch translates relative ABS_VOLUME events into appropriate number of series
    of VOLUME_UP or VOLUME_DOWN events respectively, so that userspace sees the
    correct values in the end.

    kernel.org bugzilla 5233

    Reported-by: Jochen Eisinger
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • The keyboard 0x046d/0xc311 needs reset leds quirk

    Tested-by: Antonino Ingargiola
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • This keyboard has wireless mouse which has left, middle, right buttons and
    2-dimensional scrolling wheel. Unfornetuly, this wheel reports side scrolling
    events and 11 or 12 button events at the same time.

    I've wrote a patch to fix this mapping. I'm not sure if this mapping is proper
    for buttons, because , for example, there is no entry for "burn cd" in input.h.

    The patch also supress 11 and 12 button events from mouse when you scroll the
    wheel left and right. With this patch, only side scrolling events are
    reported. (This mouse has only 4 buttons and 2D wheel. There is no such
    buttons like 11 and 12.)

    Signed-off-by: Jiri Kosina

    Ryo Dairiki
     
  • When setting the autocentering of PID devices, PID_DIRECTION_ENABLE is not
    being explicitely set to 1. This results in autocentering working only on the
    vertical axis when this field is preset to 0.

    Fix that by setting it explicitely to 1 when preparing the set_effect report
    for autocentering spring effect.

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

    Diogo Kastrup
     
  • Lately there have been quite a lot of bug reports against broken devices
    which require us to fix their report descriptor in the runtime, before it
    is passed to the HID parser. Those devices have eaten quite an amount of
    our quirks space, which isn't particularly necessary - the quirks are not
    needed after the report descriptor is parsed, and they just consume bits.

    Therefore this patch separates the quirks for report descriptor fixup, and
    moves their handling into separate code. The quirks are then forgotten as
    soon as the report descriptor has been parsed.

    Module parameter 'rdesc_quirks' is introduced to be able to modify these
    quirks in runtime in a similar way to 'quirks' parameter for ordinary HID
    quirks.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Devices manufactured by NCR have userspace hiddev-based drivers,
    which do all the necessary device querying by themselves. The devices
    must not be queried directly by the generic HID driver, as reported by
    NCR engineers.

    Cc: Petr Ostadal
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Petalynx Maxter remote control [1] 0x18b1/0x0037 emits 0xfa and 0xfc from
    consumer page (reserved in HUT 1.12) for back and more keys. It also emits
    a few usages from LOGIVENDOR page, which need adding.

    Also, this device has broken report descriptor - the reported maximum is too
    low - it doesn't contain the range for 'back' and 'more' keys, so we need to
    bump it up before the report descriptor is being parsed.

    Besides all this, it also requires NOGET quirk.

    This patch does so.

    [1] http://www.elmak.pl/index.php?option=com_phpshop&page=shop.browse&category_id=14&ext=opis&lang=en

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • When comparing usb vs ps2 / testing the keycodes generated for the easy access
    keys on my trust (microsoft compatible) keyboard. I noticed the search key
    generated the keycode for find when connected through USB. This lead me to
    check the consumer page mappings in hid-input.c . And it turns out the the
    mapping for ID 0x221 deviates from the HUT standard document:
    http://www.usb.org/developers/devclass_docs/Hut1_12.pdf

    Currently it is incorrectly mapped to find, whereas it should be mapped to
    search. I also added missing bindings for ID 0x21f, the real find and for
    0x222, goto.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jiri Kosina

    Hans de Goede
     
  • This patch provides support for the Gameron dual psx adaptor. The
    modification is to add the quirk HID_QUIRK_MULTI_INPUT for this
    specific USB device.

    Signed-off-by: Julien Eyries
    Signed-off-by: Jiri Kosina

    Julien Eyries
     
  • This patch (as914) replaces a call to flush_scheduled_work() with
    cancel_work_sync(), in order to help avoid potential deadlocks.

    Signed-off-by: Alan Stern
    Signed-off-by: Jiri Kosina

    Alan Stern
     
  • Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu",
    so that the user can disable all the options in that menu at once
    instead of having to disable each option separately.

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

    Jan Engelhardt
     
  • Microsoft SideWinder GameVoice driver is a trivial device with a few buttons
    (0x09 HID usage) and an audio connector, which just forwards the audio input
    into oridinary sound card present in the computer.

    Despite this fact, the only interface of this device reports itself as a
    Telephony/Headset type of HID device. This is apparently incorrect - the device
    itself doesn't provide any audio/telephony functionality. This is achieved in
    userland application which only needs to receive the button events from the HID
    driver.

    This patch establishes a new quirk which forces hid-input to claim a device it
    will otherwise leave untouched.

    Reported-by: Tomas Carnecky
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate
    "tactical pad" with 11 non-functional buttons - they generate usage
    codes from 0xff00 (MSVENDOR) usage page. Special case handling for
    this keyboard added, so no later clash with MSVENDOR mappings is going
    to occur.

    Pointed out in bugzilla #7352

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • There have been many reports recently about broken HID devices, the
    diagnosis of which required users to recompile their kernels in order
    to be able to provide debugging output needed for coding a quirk for
    a particular device.

    This patch makes CONFIG_HID_DEBUG default y if !EMBEDDED and makes it
    possible to control debugging output produced by HID code by supplying
    'debug=1' module parameter.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

10 May, 2007

1 commit


09 May, 2007

8 commits


30 Apr, 2007

2 commits

  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: (21 commits)
    USB HID: don't warn on idVendor == 0
    USB HID: add 'quirks' module parameter
    USB HID: add support for dynamically-created quirks
    USB HID: clarify static quirk handling as squirks
    USB HID: encapsulate quirk handling into hid-quirks.c
    USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUT
    HID: update copyright and authorship macro
    HID: introduce proper zeroing of unused bits in output reports
    USB HID: add support for WiseGroup MP-8800 Quad Joypad
    USB HID: add FF support for Logitech Force 3D Pro Joystick
    USB HID: numlock quirk for dell W7658 keyboard
    USB HID: Logitech MX3000 keyboard needs report descriptor quirk
    USB HID: extend quirk for Logitech S510 keyboard
    USB HID: usbkbd/usbmouse - handle errors when registering devices
    USB HID: add QUIRK_HIDDEV for Belkin Flip KVM
    HID: enable dead keys on a belkin wireless keyboard
    USB HID: Thustmaster firestorm dual power v1 support
    USB HID: specify explicit size for hid_blacklist.quirks
    USB HID: fix retry & reset logic
    USB HID: consolidate vendor/product ids
    ...

    Linus Torvalds
     
  • Jiri Kosina
     

29 Apr, 2007

1 commit

  • It turns out that there are broken devices out there that incorrectly
    report VID/PID as 0x000, see http://lkml.org/lkml/2007/4/27/496

    Therefore we should not confuse users by dumping warnings and stacktraces
    in such situation. It is not possible to add quirks for such horribly
    broken devices, but currently that's not needed.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

19 Apr, 2007

4 commits