1. 15 3月, 2007 1 次提交
  2. 12 3月, 2007 2 次提交
    • J
      HID: zeroing of bytes in output fields is bogus · d108d4fe
      Jiri Kosina 提交于
      This patch removes bogus zeroing of unused bits in output reports,
      introduced in Simon's patch in commit d4ae650a.
      According to the specification, any sane device should not care
      about values of unused bits.
      
      What is worse, the zeroing is done in a way which is broken and
      might clear certain bits in output reports which are actually
      _used_ - a device that has multiple fields with one value of
      the size 1 bit each might serve as an example of why this is
      bogus - the second call of hid_output_report() would clear the
      first bit of report, which has already been set up previously.
      
      This patch will break LEDs on SpaceNavigator, because this device
      is broken and takes into account the bits which it shouldn't touch.
      The quirk for this particular device will be provided in a separate
      patch.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      d108d4fe
    • J
      HID: allocate hid_parser in a proper way · 47a80edb
      Jiri Kosina 提交于
      hid_parser is non-trivially large structure, so it should be allocated
      using vmalloc() to avoid unsuccessful allocations when memory fragmentation
      is too high.
      This structue has a very short life, it's destroyed as soon as the report
      descriptor has been completely parsed.
      
      This should be considered a temporary solution, until the hid_parser is
      rewritten to consume less memory during report descriptor parsing.
      Acked-by: NMariusz Kozlowski <m.kozlowski@tuxland.pl>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      47a80edb
  3. 01 3月, 2007 5 次提交
    • J
      HID: fix Logitech DiNovo Edge touchwheel and Logic3 /SpectraVideo middle button · 25914662
      Jiri Kosina 提交于
      Dongle shipped with Logitech DiNovo Edge (0x046d/0xc714) behaves in a weird
      non-standard way - it contains multiple reports with the same usage, which
      results in remapping of GenericDesktop.X and GenericDesktop.Y usages to
      GenericDesktop.Z and GenericDesktop.RX respectively, thus rendering the
      touchwheel unusable.
      
      The commit 35068976 solved this
      in a way that it didn't remap certain usages. This however breaks
      (at least) middle button of Logic3 / SpectraVideo (0x1267/0x0210),
      which in contrary requires the remapping.
      
      To make both of the harware work, allow remapping of these usages again,
      and introduce a quirk for Logitech DiNovo Edge "touchwheel" instead - we
      disable remapping for key, abs and rel events only for this hardware.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      25914662
    • J
      HID: fix broken Logitech S510 keyboard report descriptor; make extra keys work · b55fd23c
      Jiri Kosina 提交于
      This patch makes extra keys (F1-F12 in special mode, zooming, rotate, shuffle)
      on Logitech S510 keyboard work.
      
      Logitech S510 keyboard sends in report no. 3 keys which are far above the
      logical maximum described in descriptor for given report.
      
      This patch introduces a HID quirk for this wireless USB receiver/keyboard
      in order to fix the report descriptor before it's being parsed - the logical
      maximum and the number of usages is bumped up to 0x104d). The values are in the
      "Reserved" area of consumer HUT, so HID_MAX_USAGE had to be changed too.
      
      In addition to proper extracting of  the values from report descriptor, proper
      HID-input mapping is introduced for them.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      b55fd23c
    • J
      HID: fix possible double-free on error path in hid parser · 776c0e96
      Jiri Kosina 提交于
      Freeing of device->collection is properly done in hid_free_device() (as
      this function is supposed to free all the device resources and could be
      called from transport specific code, e.g. usb_hid_configure()).
      
      Remove all kfree() calls preceeding the hid_free_device() call.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      776c0e96
    • A
      HID: hid-debug.c should #include <linux/hid-debug.h> · 4330eb2e
      Adrian Bunk 提交于
      Every file should include the headers containing the prototypes for
      it's global functions.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4330eb2e
    • J
      HID: fix bug in zeroing the last field byte in output reports · 4237081e
      Jiri Kosina 提交于
      d4ae650a introduced zeroing of the
      last field byte in output reports in order to make sure the unused
      bits are set to 0. This is done in a wrong way, resulting in a
      wrong bits being zeroed out (not properly shifted by the field offset
      in the report). Fix this.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4237081e
  4. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  5. 05 2月, 2007 4 次提交
    • J
      HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG · dd64c151
      Jiri Kosina 提交于
      CONFIG_INPUT_DEBUG is non-existent option, so remove anything depending
      on it.
      
      Also, as we have new CONFIG_HID_DEBUG, this should be used on places
      where ifdef DEBUG was used before.
      
      Suggested by Adrian Bunk.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      dd64c151
    • J
      HID: API - fix leftovers of hidinput API in USB HID · 7c379146
      Jiri Kosina 提交于
      hidinput_{open,close}() functions do not belong to usbhid, but
      to the generic HID layer. Move them, and fix hooks in struct
      hid_device, so that now the callbacks are done to transport-specific
      _open() functions, but not input_open() functions.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      7c379146
    • J
      HID: hid debug from hid-debug.h to hid layer · c080d89a
      Jiri Kosina 提交于
      hid-debug.h contains a lot of code, and should not therefore
      be a header.
      
      This patch moves the code to generic hid layer as .c source, and
      introduces CONFIG_HID_DEBUG to conditionally compile it, instead
      of playing with #define DEBUG and including hid-debug.h.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      c080d89a
    • A
      hid: quirk for multi-input devices with unneeded output reports · 5556feae
      Anssi Hannula 提交于
      Add new quirk HID_QUIRK_SKIP_OUTPUT_REPORTS to skip output reports
      when enumerating reports on a hid-input device. Add this quirk and
      HID_QUIRK_MULTI_INPUT to 0810:0001.
      
      PantherLord Twin USB Joystick, 0810:0001 has separate input reports
      for 2 distinct game controllers in the same interface, so it needs
      HID_QUIRK_MULTI_INPUT. However, the device also contains one output
      report per controller which is used to control the force feedback
      function, and we do not want those to appear as separate input
      devices as well. The simplest approach seems to be to add a quirk to
      skip output reports on 0810:0001, and allow the force feedback
      driver to handle those.
      Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      5556feae
  6. 30 1月, 2007 1 次提交
    • J
      HID: fix pb_fnmode and move it to generic HID · 76398f96
      Jiri Kosina 提交于
      The apple powerbook people are used to switch the pb_fnmode
      setting at runtime through writing to sysfs, altering the
      module parameter value. This was broken for them in 2.6.20-rc1
      when generic HID layer was introduced, as the pb_fnmode flag
      was made per-hiddevice, instead of global variable.
      
      This patch moves the pb_fnmode module parameter from usbhid module
      to hid module, but apart from that retains backward compatibility
      with respect to changing the mode through sysfs.
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      76398f96
  7. 26 1月, 2007 2 次提交
  8. 22 1月, 2007 3 次提交
  9. 09 1月, 2007 1 次提交
  10. 08 1月, 2007 3 次提交
  11. 04 1月, 2007 2 次提交
  12. 14 12月, 2006 1 次提交
  13. 09 12月, 2006 7 次提交