1. 25 2月, 2013 2 次提交
  2. 20 7月, 2012 1 次提交
  3. 30 3月, 2012 1 次提交
  4. 21 12月, 2011 2 次提交
  5. 23 12月, 2010 1 次提交
  6. 14 9月, 2010 1 次提交
    • G
      HID: fix hiddev's use of usb_find_interface · 8fe294ca
      Guillaume Chazarain 提交于
      My macbook infrared remote control was broken by commit
      bd25f4dd ("HID: hiddev: use
      usb_find_interface, get rid of BKL").
      
      This device appears in dmesg as:
      apple 0003:05AC:8242.0001: hiddev0,hidraw0: USB HID v1.11 Device
      [Apple Computer, Inc. IR Receiver] on usb-0000:00:1d.2-1/input0
      
      It stopped working as lircd was getting ENODEV when opening /dev/usb/hiddev0.
      
      AFAICS hiddev_driver is a dummy driver so usb_find_interface(&hiddev_driver)
      does not find anything.
      
      The device is associated with the usbhid driver, so let's do
      usb_find_interface(&hid_driver) instead.
      
      $ ls -l /sys/devices/pci0000:00/0000:00:1d.2/usb7/7-1/7-1:1.0/usb/hiddev0/device/driver
      lrwxrwxrwx 1 root root 0 2010-09-12 16:28 /sys/devices/pci0000:00/0000:00:1d.2/usb7/7-1/7-1:1.0/usb/hiddev0/device/driver -> ../../../../../../bus/usb/drivers/usbhid
      Signed-off-by: NGuillaume Chazarain <guichaz@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      8fe294ca
  7. 21 5月, 2010 1 次提交
    • A
      USB: remove uses of URB_NO_SETUP_DMA_MAP · 0ede76fc
      Alan Stern 提交于
      This patch (as1350) removes all usages of coherent buffers for USB
      control-request setup-packet buffers.  There's no good reason to
      reserve coherent memory for these things; control requests are hardly
      ever used in large quantity (the major exception is firmware
      transfers, and they aren't time-critical).  Furthermore, only seven
      drivers used it.  We might as well always use streaming DMA mappings
      for setup-packet buffers, and remove some extra complexity from
      usbcore.
      
      The DMA-mapping portion of hcd.c is currently in flux.  A separate
      patch will be submitted to remove support for URB_NO_SETUP_DMA_MAP
      after everything else settles down.  The removal should go smoothly,
      as by then nobody will be using it.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0ede76fc
  8. 12 2月, 2010 1 次提交
  9. 26 3月, 2009 1 次提交
    • O
      HID: autosuspend support for USB HID · 0361a28d
      Oliver Neukum 提交于
      This uses the USB busy mechanism for aggessive autosuspend of USB
      HID devices. It autosuspends all opened devices supporting remote wakeup
      after a timeout unless
      
      - output is being done to the device
      - a key is being held down (remote wakeup isn't triggered upon key release)
      - LED(s) are lit
      - hiddev is opened
      
      As in the current driver closed devices will be autosuspended even if they
      don't support remote wakeup.
      
      The patch is quite large because output to devices is done in hard interrupt
      context meaning a lot a queuing and locking had to be touched. The LED stuff
      has been solved by means of a simple counter. Additions to the generic HID code
      could be avoided. In addition it now covers hidraw. It contains an embryonic
      version of an API to let the generic HID code tell the lower levels which
      capabilities with respect to power management are needed.
      Signed-off-by: NOliver Neukum <oneukum@suse.de>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      0361a28d
  10. 04 1月, 2009 1 次提交
  11. 23 11月, 2008 1 次提交
  12. 27 10月, 2008 1 次提交
  13. 15 10月, 2008 2 次提交
    • A
      HID: fix a lockup regression when using force feedback on a PID device · f129ea6d
      Anssi Hannula 提交于
      Commit 8006479c introduced a spinlock in
      input_dev->event_lock, which is locked when handling input events.
      However, the hid-pidff driver sleeps when handling events as it waits for
      reports being sent to the device before changing the report contents
      again.
      This causes a system lockup when trying to use force feedback with a PID
      device, a regression introduced in 2.6.24 and 2.6.23.15.
      
      Fix it by extracting the raw report data from struct hid_report
      immediately when hid_submit_report() is called, therefore allowing
      drivers to change the contents of struct hid_report immediately without
      affecting the already-queued transfer.
      
      In hid-pidff, re-add the removed usbhid_wait_io() to
      pidff_erase_effect() instead, to prevent a full report queue from causing
      the submission to fail, thus not freeing up device memory.
      pidff_erase_effect() is not called while dev->event_lock is held.
      Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      f129ea6d
    • J
      HID: make a bus from hid code · 85cdaf52
      Jiri Slaby 提交于
      Make a bus from hid core. This is the first step for converting all the
      quirks and separate almost-drivers into real drivers attached to this bus.
      
      It's implemented to change behaviour in very tiny manner, so that no driver
      needs to be changed this time.
      
      Also add generic drivers for both usb and bt into usbhid or hidp
      respectively which will bind all non-blacklisted device. Those blacklisted
      will be either grabbed by special drivers or by nobody if they are broken at
      the very rude base.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      85cdaf52
  14. 22 4月, 2008 1 次提交
  15. 11 4月, 2007 1 次提交
  16. 22 1月, 2007 1 次提交
    • A
      HID: put usb_interface instead of usb_device into hid->dev to fix udevinfo breakage · be820975
      Anssi Hannula 提交于
      The commit 4916b3a5 introduced a
      hid regression between 2.6.19 and 2.6.20-rc1. The device put in
      input_dev->cdev is now of type usb_device instead of usb_interface.
      
      Before:
      > # readlink -f /sys/class/input/input6/event4/device
      > /sys/devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.1
      After:
      > # readlink -f /sys/class/input/input3/event3/device
      > /sys/devices/pci0000:00/0000:00:10.0/usb1/1-1
      
      This causes breakage:
      > # udevinfo -q all -n /dev/input/event3
      > P: /class/input/input3/event3
      > N: input/event3
      > S: input/by-path/pci-1-1--event-
      > E: ID_SERIAL=noserial
      > E: ID_PATH=pci-1-1-
      
      No ID_MODEL, ID_VENDOR, ID_REVISION, ID_TYPE etc etc.
      
      Fix this by assigning the intf->dev into hid->dev, and fixing
      all the users.
      Signed-off-by: NAnssi Hannula <anssi.hannula@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      be820975
  17. 09 12月, 2006 1 次提交
    • J
      [PATCH] Generic HID layer - USB API · 4916b3a5
      Jiri Kosina 提交于
      - 'dev' in struct hid_device changed from struct usb_device to
        struct device and fixed all the users
      - renamed functions which are part of USB HID API from 'hid_*' to
        'usbhid_*'
      - force feedback initialization moved from common part into USB-specific
        driver
      - added usbhid.h header for USB HID API users
      - removed USB-specific fields from struct hid_device and moved them
        to new usbhid_device, which is pointed to by hid_device->driver_data
      - fixed all USB users to use this new structure
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4916b3a5
反馈
建议
客服 返回
顶部