1. 07 May, 2010 1 commit
  2. 17 Feb, 2010 1 commit
  3. 12 Feb, 2010 1 commit
  4. 03 Feb, 2010 1 commit
    • Jiri Kosina's avatar
      HID: make raw reports possible for both feature and output reports · d4bfa033
      Jiri Kosina authored
      In commit 2da31939 ("Bluetooth: Implement raw output support for HIDP
      layer"), support for Bluetooth hid_output_raw_report was added, but it
      pushes the data to the intr socket instead of the ctrl one. This has been
      fixed by 6bf8268f ("Bluetooth: Use the control channel for raw HID reports")
      
      Still, it is necessary to distinguish whether the report in question should be
      either FEATURE or OUTPUT. For this, we have to extend the generic HID API,
      so that hid_output_raw_report() callback provides means to specify this
      value so that it can be passed down to lower level hardware drivers (currently
      Bluetooth and USB).
      
      Based on original patch by Bastien Nocera <hadess@hadess.net>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      d4bfa033
  5. 02 Feb, 2010 1 commit
  6. 12 Jan, 2010 1 commit
    • Márton Németh's avatar
      HID: make USB device id constant · d67dec5b
      Márton Németh authored
      The id_table field of the struct usb_device_id is constant in <linux/usb.h>
      so it is worth to make the initialization data also constant.
      
      The semantic match that finds this kind of pattern is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @r@
      disable decl_init,const_decl_init;
      identifier I1, I2, x;
      @@
      	struct I1 {
      	  ...
      	  const struct I2 *x;
      	  ...
      	};
      @s@
      identifier r.I1, y;
      identifier r.x, E;
      @@
      	struct I1 y = {
      	  .x = E,
      	};
      @c@
      identifier r.I2;
      identifier s.E;
      @@
      	const struct I2 E[] = ... ;
      @depends on !c@
      identifier r.I2;
      identifier s.E;
      @@
      +	const
      	struct I2 E[] = ...;
      // </smpl>
      Signed-off-by: default avatarMárton Németh <nm127@freemail.hu>
      Cc: Julia Lawall <julia@diku.dk>
      Cc: cocci@diku.dk
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      d67dec5b
  7. 11 Dec, 2009 1 commit
  8. 05 Nov, 2009 1 commit
    • Jiri Kosina's avatar
      HID: fixup quirk for NCR devices · 5b915d9e
      Jiri Kosina authored
      NCR devices are terminally broken by design -- they claim themselves to contain
      proper input applications in their HID report descriptor, but behave very badly
      if treated in standard way.
      
      According to NCR developers, the devices get confused when queried for reports
      in a standard way, rendering them unusable.
      
      NCR is shipping application called "RPSL" that can be used to drive these
      devices through hiddev, under the assumption that in-kernel driver doesn't
      perform initial report query.
      If it does, neither in-kernel nor hiddev-based driver can operate with these
      devices any more.
      
      Introduce a quirk that skips the report query for all NCR devices. The previous
      NOGET quirk was wrong and had been introduced because I misunderstood the nature
      of brokenness of these devices.
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      5b915d9e
  9. 13 Oct, 2009 2 commits
  10. 17 Sep, 2009 1 commit
  11. 18 Aug, 2009 1 commit
  12. 22 Jul, 2009 1 commit
  13. 12 Jul, 2009 1 commit
  14. 12 Jun, 2009 1 commit
    • Jiri Kosina's avatar
      HID: use debugfs for report dumping descriptor · a635f9dd
      Jiri Kosina authored
      It is a little bit inconvenient for people who have some non-standard
      HID hardware (usually violating the HID specification) to have to
      recompile kernel with CONFIG_HID_DEBUG to be able to see kernel's perspective
      of the HID report descriptor and observe the parsed events. Plus the messages
      are then mixed up inconveniently with the rest of the dmesg stuff.
      
      This patch implements /sys/kernel/debug/hid/<device>/rdesc file, which
      represents the kernel's view of report descriptor (both the raw report
      descriptor data and parsed contents).
      
      With all the device-specific debug data being available through debugfs, there
      is no need for keeping CONFIG_HID_DEBUG, as the 'debug' parameter to the
      hid module will now only output only driver-specific debugging options, which has
      absolutely minimal memory footprint, just a few error messages and one global
      flag (hid_debug).
      
      We use the current set of output formatting functions. The ones that need to be
      used both for one-shot rdesc seq_file and also for continuous flow of data
      (individual reports, as being sent by the device) distinguish according to the
      passed seq_file parameter, and if it is NULL, it still output to kernel ringbuffer,
      otherwise the corresponding seq_file is used for output.
      
      The format of the output is preserved.
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      a635f9dd
  15. 04 Jun, 2009 1 commit
  16. 11 May, 2009 1 commit
  17. 29 Apr, 2009 1 commit
  18. 30 Mar, 2009 1 commit
    • Jiri Kosina's avatar
      HID: bring back possibility to specify vid/pid ignore on module load · 6f4303fb
      Jiri Kosina authored
      When hid quirks were converted to specialized driver, the HID_QUIRK_IGNORE
      has been moved completely, as the hid_ignore_list[] has been moved into the
      generic code.
      
      However userspace already got used to the possibility that modprobing
      usbhid with
      
      	'quirks=vid:pid:0x4'
      
      makes the device ignored by usbhid driver. So keep this quirk flag in place
      for backwards compatibility.
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      6f4303fb
  19. 25 Mar, 2009 5 commits
  20. 07 Jan, 2009 1 commit
    • Alan Stern's avatar
      USB: change interface to usb_lock_device_for_reset() · 011b15df
      Alan Stern authored
      This patch (as1161) changes the interface to
      usb_lock_device_for_reset().  The existing interface is apparently not
      very clear, judging from the fact that several of its callers don't
      use it correctly.  The new interface always returns 0 for success and
      it always requires the caller to unlock the device afterward.
      
      The new routine will not return immediately if it is called while the
      driver's probe method is running.  Instead it will wait until the
      probe is over and the device has been unlocked.  This shouldn't cause
      any problems; I don't know of any cases where drivers call
      usb_lock_device_for_reset() during probe.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: Pete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      011b15df
  21. 03 Jan, 2009 4 commits
  22. 23 Nov, 2008 1 commit
  23. 14 Nov, 2008 1 commit
  24. 13 Nov, 2008 1 commit
    • Jiri Slaby's avatar
      HID: fix start/stop cycle in usbhid driver · e3e14de5
      Jiri Slaby authored
      `stop' left out usbhid->urb* pointers and so the next `start' thought
      it needs to allocate nothing and used the memory pointers previously
      pointed to. This led to memory corruption and device malfunction.
      
      Also don't forget to clear disconnect flag on start which was left set
      by the previous `stop'.
      
      This fixes
      
      	echo DEVICE > /sys/bus/hid/drivers/DRIVER/unbind
      	echo DEVICE > /sys/bus/hid/drivers/DRIVER/bind
      
      failures.
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e3e14de5
  25. 27 Oct, 2008 2 commits
  26. 22 Oct, 2008 1 commit
  27. 17 Oct, 2008 1 commit
  28. 14 Oct, 2008 4 commits