1. 08 1月, 2009 8 次提交
    • P
      USB: otg: add otg_put_transceiver() · 68144e0c
      Philipp Zabel 提交于
      As Russell King points out, calling put_device(otg_transceiver->dev)
      directly in driver cleanup paths makes assumptions about otg_transceiver
      internals.
      Signed-off-by: NPhilipp Zabel <philipp.zabel@gmail.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      68144e0c
    • P
      USB: otg: gpio_vbus transceiver stub · 6084f1bf
      Philipp Zabel 提交于
      gpio_vbus provides simple GPIO VBUS sensing for peripheral
      controllers with an internal transceiver.
      Optionally, a second GPIO can be used to control D+ pullup.
      
      It also interfaces with the regulator framework to limit charging
      currents when powered via USB. gpio_vbus requests the regulator
      supplying "vbus_draw" and can enable/disable it or limit its
      current depending on USB state.
      
      [dbrownell@users.sourceforge.net: use drivers/otg, cleanups ]
      Signed-off-by: NPhilipp Zabel <philipp.zabel@gmail.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6084f1bf
    • B
      USB: storage devices and SAT · 1537e0ad
      Ben Efros 提交于
      Add the SANE SENSE flag to indicate that a device is capable of handling
      more than 18-bytes of sense data.  This functionality is required for
      USB-ATA bridges implementing SAT.  A future patch will actually enable this
      function for several devices.
      
      The logic behind this is that we can detect support for SANE_SENSE in a few ways:
       1) ATA PASS THROUGH (12) or (16) execute successfully
       2) SPC-3 or higher is in use
       3) A previous CHECK CONDITION occurred with sense format 70-73 and had
          a length greater than 18-bytes total
      Signed-off-by: NBen Efros <ben@pc-doctor.com>
      Signed-off-by: NMatthew Dharm <mdharm-usb@one-eyed-alien.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      1537e0ad
    • P
      USB: Allow usbmon as a module even if usbcore is builtin · f150fa1a
      Pete Zaitcev 提交于
      usbmon can only be built as a module if usbcore is a module too. Trivial
      changes to the relevant Kconfig and Makefile (and a few trivial changes
      elsewhere) allow usbmon to be built as a module even if usbcore is
      builtin.
      
      This is verified to work in all 9 permutations (3 correctly prohibited
      by Kconfig, 6 build a suitable result).
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f150fa1a
    • I
      USB: Introduce usb_queue_reset() to do resets from atomic contexts · dc023dce
      Inaky Perez-Gonzalez 提交于
      This patch introduces a new call to be able to do a USB reset from an
      atomic contect. This is quite helpful in USB callbacks to handle
      errors (when the only thing that can be done is to do a device
      reset).
      
      It is done queuing a work struct that will do the actual reset. The
      struct is "attached" to an interface so pending requests from an
      interface are removed when said interface is unbound from the driver.
      
      The call flow then becomes:
      
      usb_queue_reset_device()
        __usb_queue_reset_device() [workqueue]
          usb_reset_device()
      
      usb_probe_interface()
        usb_cancel_queue_reset()      [error path]
      
      usb_unbind_interface()
        usb_cancel_queue_reset()
      
      usb_driver_release_interface()
        usb_cancel_queue_reset()
      
      Note usb_cancel_queue_reset() needs smarts to try not to unqueue when
      it is actually being executed. This happens when we run the reset from
      the workqueue: usb_reset_device() is called and on interface unbind
      time, usb_cancel_queue_reset() would be called. That would deadlock on
      cancel_work_sync(). To avoid that, we set (before running
      usb_reset_device()) usb_intf->reset_running and clear it inmediately
      after returning.
      
      Patch is against 2.6.28-rc2 and depends on
      http://marc.info/?l=linux-usb&m=122581634925308&w=2 (as submitted by
      Alan Stern).
      Signed-off-by: NInaky Perez-Gonzalez <inaky@linux.intel.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      dc023dce
    • A
      USB: add asynchronous autosuspend/autoresume support · 9ac39f28
      Alan Stern 提交于
      This patch (as1160b) adds support routines for asynchronous autosuspend
      and autoresume, with accompanying documentation updates.  There
      already are several potential users of this interface, and others are
      likely to arise as autosuspend support becomes more widespread.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9ac39f28
    • H
      USB: wusb: annotate association types withe proper endianness · d767d888
      Harvey Harrison 提交于
      Also a trivial annotation in rh.c for:
      drivers/usb/wusbcore/rh.c:366:9: warning: incorrect type in assignment (different base types)
      drivers/usb/wusbcore/rh.c:366:9:    expected unsigned short [unsigned] [short] [usertype] <noident>
      drivers/usb/wusbcore/rh.c:366:9:    got restricted __le16 [usertype] <noident>
      drivers/usb/wusbcore/rh.c:367:9: warning: incorrect type in assignment (different base types)
      drivers/usb/wusbcore/rh.c:367:9:    expected unsigned short [unsigned] [short] [usertype] <noident>
      drivers/usb/wusbcore/rh.c:367:9:    got restricted __le16 [usertype] <noident>
      
      Association types annotation fixes piles of warnings similar to:
      drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types)
      drivers/usb/wusbcore/cbaf.c:238:30:    expected restricted __le16 [usertype] id
      drivers/usb/wusbcore/cbaf.c:238:30:    got int
      drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types)
      drivers/usb/wusbcore/cbaf.c:238:30:    expected restricted __le16 [usertype] len
      drivers/usb/wusbcore/cbaf.c:238:30:    got int
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Cc: David Vrabel <david.vrabel@csr.com>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d767d888
    • R
      usb host: Oxford OXU210HP HCD driver. · b92a78e5
      Rodolfo Giometti 提交于
      This driver implements the support for Oxford OXU210HP USB high-speed host,
      no peripheral nor OTG.
      Signed-off-by: NRodolfo Giometti <giometti@linux.it>
      Cc: Kan Liu <kan.k.liu@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b92a78e5
  2. 07 1月, 2009 32 次提交