1. 23 7月, 2009 1 次提交
    • R
      HID: Support new variants of Samsung USB IR receiver (0419:0001) · 0810b511
      Robert Schedel 提交于
      This patch extends the existing Samsung IrDA (0419:0001) quirk file with newly
      reported variants:
      
      * New device variants with 203 byte and 135 byte report descriptors were
        reported to be recognized incorrectly. This patch adds an autodetection for
        those two, using report descriptor size to enable new quirks.
      
      * Any other unknown 0419:0001 variants will now be treated without any quirk
        flags (i.e. IGNORE_HIDINPUT/HIDDEV_FORCE will not be set by default anymore).
      
      More details:
      
      1. Descriptor size 184 bytes ("Satelco bundled remote")
      Already supported since kernel 2.6.25 (my old patch).
      
      2. Descriptor size 203 bytes ("Optronix remote")
      This receiver mostly works with the regular HID input driver. Only when some
      keys are released, another spurious key press event is interpreted due to
      incorrect array ranges. According to HID 1.11, section 6.2.2.5, arrays should
      return a 0 value when no control is asserted, and ranges should go from 1 to
      the number of elements. The patch clips the value with a logical range from
      1..15 (instead of originally 0..18).
      
      Ticket with more information available at
      https://bugs.launchpad.net/bugs/326986
      
      3. Descriptor size 135 bytes ("Gotview remote")
      This receiver has a similar issue than the previous one, i.e. it mostly works
      with regular HID input, except some key press events get stuck on key release.
      The patch clips the array value from 1..14 (instead of originally 0..17).
      
      Ticket with more information available at
      http://bugs.archlinux.org/task/15216
      
      4. Other unknown variants (found one report with 218 bytes,
         but no further information about issues)
      
      For such unknown variants we should refrain from changing any device flags.
      Currently, HIDINPUT is suppressed and HIDDEV is enforced (because in 2.6.25 the
      quirk table did not yet allow differentiating variants and we
      did not expect variants either). Now we should be as strict as
      possible and enable it only for the first variant above.
      Signed-off-by: NRobert Schedel <r.schedel@yahoo.de>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      0810b511
  2. 20 7月, 2009 1 次提交
  3. 13 7月, 2009 1 次提交
  4. 22 6月, 2009 1 次提交
  5. 16 6月, 2009 1 次提交
  6. 10 6月, 2009 1 次提交
  7. 04 6月, 2009 2 次提交
  8. 20 5月, 2009 2 次提交
    • S
      HID: Multitouch support for the N-Trig touchscreen · 57fd637a
      Stephane Chatty 提交于
      Adds support for multitouch interaction on the N-Trig touchscreen, using the
      new ABS_MT_* input constants. Single touch support works as previously. This
      code was tested against two versions of the N- Trig firmware: one that supports
      dual pen/finger single touch, and one that supports finger multitouch but no
      pen at all. Copyright notices that looked wrong were removed, as it seems that
      there is only code written in 2009 by Rafin Rubin and Stephane Chatty in this
      file.
      Signed-off-by: NStephane Chatty <chatty@enac.fr>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      57fd637a
    • S
      HID: add new multitouch and digitizer contants · 89f536cc
      Stephane Chatty 提交于
      Added constants to hid.h for all digitizer usages (including the new multitouch
      ones that are not yet in the official USB spec but are being pushed by Microsft
      as described in their paper "Digitizer Drivers for Windows Touch and Pen-Based
      Computers"). Updated hid-debug.c to support the new MT input constants such as
      ABS_MT_POSITION_X.
      Signed-off-by: NStephane Chatty <chatty@enac.fr>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      89f536cc
  9. 15 5月, 2009 3 次提交
  10. 13 5月, 2009 2 次提交
  11. 11 5月, 2009 2 次提交
  12. 02 5月, 2009 1 次提交
  13. 29 4月, 2009 2 次提交
  14. 17 4月, 2009 1 次提交
  15. 07 4月, 2009 1 次提交
  16. 30 3月, 2009 11 次提交
  17. 26 3月, 2009 5 次提交
  18. 16 3月, 2009 1 次提交
    • J
      Rationalize fasync return values · 60aa4924
      Jonathan Corbet 提交于
      Most fasync implementations do something like:
      
           return fasync_helper(...);
      
      But fasync_helper() will return a positive value at times - a feature used
      in at least one place.  Thus, a number of other drivers do:
      
           err = fasync_helper(...);
           if (err < 0)
                   return err;
           return 0;
      
      In the interests of consistency and more concise code, it makes sense to
      map positive return values onto zero where ->fasync() is called.
      
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      60aa4924
  19. 11 3月, 2009 1 次提交
    • J
      HID: fix waitqueue usage in hiddev · 96fe2ab8
      Johannes Weiner 提交于
      DECLARE_WAITQUEUE doesn't initialize the wait descriptor's task_list
      to 'empty' but to zero.
      
      prepare_to_wait() will not enqueue the descriptor to the waitqueue and
      finish_wait() will do list_del_init() on a list head that contains
      NULL pointers, which oopses.
      
      This was introduced by 07903407 "HID: hiddev cleanup -- handle all
      error conditions properly".
      
      The prior code used an unconditional add_to_waitqueue() which didn't
      care about the wait descriptor's list head and enqueued the thing
      unconditionally.
      
      The new code uses prepare_to_wait() which DOES check the prior list
      state, so use DEFINE_WAIT instead.
      Signed-off-by: NJohannes Weiner <hannes@cmpxchg.org>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      96fe2ab8