05 Jan, 2012

1 commit

  • The documentation for usbmon is out of date; the usbfs "devices" file
    now exists in /sys/kernel/debug/usb rather than /proc/bus/usb. This
    patch (as1505) updates the documentation accordingly, and also
    mentions that the necessary information can be found by running lsusb.

    Signed-off-by: Alan Stern
    CC: Pete Zaitcev
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

29 Nov, 2011

1 commit


25 Oct, 2011

2 commits

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)
    PM / Clocks: Remove redundant NULL checks before kfree()
    PM / Documentation: Update docs about suspend and CPU hotplug
    ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
    ARM: mach-shmobile: sh7372 A4R support (v4)
    ARM: mach-shmobile: sh7372 A3SP support (v4)
    PM / Sleep: Mark devices involved in wakeup signaling during suspend
    PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
    PM / Hibernate: Do not initialize static and extern variables to 0
    PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too
    PM / Hibernate: Add resumedelay kernel param in addition to resumewait
    MAINTAINERS: Update linux-pm list address
    PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
    PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
    PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
    PM / Hibernate: Fix typo in a kerneldoc comment
    PM / Hibernate: Freeze kernel threads after preallocating memory
    PM: Update the policy on default wakeup settings
    PM / VT: Cleanup #if defined uglyness and fix compile error
    PM / Suspend: Off by one in pm_suspend()
    PM / Hibernate: Include storage keys in hibernation image on s390
    ...

    Linus Torvalds
     
  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits)
    usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push()
    usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.
    USB: gadget: midi: memory leak in f_midi_bind_config()
    USB: gadget: midi: fix range check in f_midi_out_open()
    QE/FHCI: fixed the CONTROL bug
    usb: renesas_usbhs: tidyup for smatch warnings
    USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms
    EHCI: workaround for MosChip controller bug
    usb: gadget: file_storage: fix race on unloading
    USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers
    USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure
    USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure
    USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure
    USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure
    USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio
    usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .
    USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board
    USB: Fix runtime wakeup on OHCI
    xHCI/USB: Make xHCI driver have a BOS descriptor.
    usb: gadget: add new usb gadget for ACM and mass storage
    ...

    Linus Torvalds
     

05 Oct, 2011

1 commit

  • The following patch adds support for streams
    to dwc3 driver.

    While at that, also fix one small issue on
    endpoint disable where we should clear all
    flags not only ENABLED.

    Reviewied-by: Paul Zimmerman
    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     

28 Sep, 2011

1 commit

  • There are numerous broken references to Documentation files (in other
    Documentation files, in comments, etc.). These broken references are
    caused by typo's in the references, and by renames or removals of the
    Documentation files. Some broken references are simply odd.

    Fix these broken references, sometimes by dropping the irrelevant text
    they were part of.

    Signed-off-by: Paul Bolle
    Signed-off-by: Jiri Kosina

    Paul Bolle
     

27 Sep, 2011

1 commit


23 Aug, 2011

1 commit

  • The DesignWare USB3 is a highly
    configurable IP Core which can be
    instantiated as Dual-Role Device (DRD),
    Peripheral Only and Host Only (XHCI)
    configurations.

    Several other parameters can be configured
    like amount of FIFO space, amount of TX and
    RX endpoints, amount of Host Interrupters,
    etc.

    The current driver has been validated with
    a virtual model of version 1.73a of that core
    and with an FPGA burned with version 1.83a
    of the DRD core. We have support for PCIe
    bus, which is used on FPGA prototyping, and
    for the OMAP5, more adaptation (or glue)
    layers can be easily added and the driver
    is half prepared to handle any possible
    configuration the HW engineer has chosen
    considering we have the information on
    one of the GHWPARAMS registers to do
    runtime checking of certain features.

    More runtime checks can, and should, be added
    in order to make this driver even more flexible
    with regards to number of endpoints, FIFO sizes,
    transfer types, etc.

    While this supports only the device side, for
    now, we will add support for Host side (xHCI -
    see the updated series Sebastian has sent [1])
    and OTG after we have it all stabilized.

    [1] http://marc.info/?l=linux-usb&m=131341992020339&w=2

    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     

20 Aug, 2011

1 commit

  • This patch (as1482) adds a macro for testing whether or not a
    pm_message value represents an autosuspend or autoresume (i.e., a
    runtime PM) event. Encapsulating this notion seems preferable to
    open-coding the test all over the place.

    Signed-off-by: Alan Stern
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     

26 Jul, 2011

1 commit

  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (115 commits)
    EHCI: fix direction handling for interrupt data toggles
    USB: serial: add IDs for WinChipHead USB->RS232 adapter
    USB: OHCI: fix another regression for NVIDIA controllers
    usb: gadget: m66592-udc: add pullup function
    usb: gadget: m66592-udc: add function for external controller
    usb: gadget: r8a66597-udc: add pullup function
    usb: renesas_usbhs: support multi driver
    usb: renesas_usbhs: inaccessible pipe is not an error
    usb: renesas_usbhs: care buff alignment when dma handler
    USB: PL2303: correctly handle baudrates above 115200
    usb: r8a66597-hcd: fixup USB_PORT_STAT_C_SUSPEND shift
    usb: renesas_usbhs: compile/config are rescued
    usb: renesas_usbhs: fixup comment-out
    usb: update email address in ohci-sh and r8a66597-hcd
    usb: r8a66597-hcd: add function for external controller
    EHCI: only power off port if over-current is active
    USB: mon: Allow to use usbmon without debugfs
    USB: EHCI: go back to using the system clock for QH unlinks
    ehci: add pci quirk for Ordissimo and RM Slate 100 too
    ehci: refactor pci quirk to use standard dmi_check_system method
    ...

    Fix up trivial conflicts in Documentation/feature-removal-schedule.txt

    Linus Torvalds
     

09 Jul, 2011

1 commit

  • There are cases, when 80% max isochronous bandwidth is too limiting.

    For example I have two USB video capture cards which stream uncompressed
    video, and to stream full NTSC + PAL videos we'd need

    NTSC 640x480 YUV422 @30fps ~17.6 MB/s
    PAL 720x576 YUV422 @25fps ~19.7 MB/s

    isoc bandwidth.

    Now, due to limited alt settings in capture devices NTSC one ends up
    streaming with max_pkt_size=2688 and PAL with max_pkt_size=2892, both
    with interval=1. In terms of microframe time allocation this gives

    NTSC ~53us
    PAL ~57us

    and together

    ~110us > 100us == 80% of 125us uframe time.

    So those two devices can't work together simultaneously because the'd
    over allocate isochronous bandwidth.

    80% seemed a bit arbitrary to me, and I've tried to raise it to 90% and
    both devices started to work together, so I though sometimes it would be
    a good idea for users to override hardcoded default of max 80% isoc
    bandwidth.

    After all, isn't it a user who should decide how to load the bus? If I
    can live with 10% or even 5% bulk bandwidth that should be ok. I'm a USB
    newcomer, but that 80% set in stone by USB 2.0 specification seems to be
    chosen pretty arbitrary to me, just to serve as a reasonable default.

    NOTE 1
    ~~~~~~

    for two streams with max_pkt_size=3072 (worst case) both time
    allocation would be 60us+60us=120us which is 96% periodic bandwidth
    leaving 4% for bulk and control. Alan Stern suggested that bulk then
    would be problematic (less than 300*8 bittimes left per microframe), but
    I think that is still enough for control traffic.

    NOTE 2
    ~~~~~~

    Sarah Sharp expressed concern that maxing out periodic bandwidth
    could lead to vendor-specific hardware bugs on host controllers, because

    > It's entirely possible that you'll run into
    > vendor-specific bugs if you try to pack the schedule with isochronous
    > transfers. I don't think any hardware designer would seriously test or
    > validate their hardware with a schedule that is basically a violation of
    > the USB bus spec (more than 80% for periodic transfers).

    So far I've only tested this patch on my HP Mini 5103 with N10 chipset

    kirr@mini:~$ lspci
    00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge
    00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller
    00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller
    00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
    00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
    00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02)
    00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
    00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
    00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
    00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
    00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
    00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)
    00:1f.2 SATA controller: Intel Corporation N10/ICH7 Family SATA AHCI Controller (rev 02)
    01:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
    02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8059 PCI-E Gigabit Ethernet Controller (rev 11)

    and the system works stable with 110us/uframe (~88%) isoc bandwith allocated for
    above-mentioned isochronous transfers.

    NOTE 3
    ~~~~~~

    This feature is off by default. I mean max periodic bandwidth is set to
    100us/uframe by default exactly as it was before the patch. So only those of us
    who need the extreme settings are taking the risk - normal users who do not
    alter uframe_periodic_max sysfs attribute should not see any change at all.

    NOTE 4
    ~~~~~~

    I've tried to update documentation in Documentation/ABI/ thoroughly, but
    only "TBD" was put into Documentation/usb/ehci.txt -- the text there seems
    to be outdated and much needing refreshing, before it could be amended.

    Cc: Sarah Sharp
    Signed-off-by: Kirill Smelkov
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Kirill Smelkov
     

02 Jul, 2011

1 commit


18 Jun, 2011

1 commit

  • Documentation/usb/error-codes.txt mentions that urb->status can be set to
    -EXDEV, if the isochronous transfer was not fully completed. However, in
    practice, EHCI, UHCI, and OHCI all only set -EXDEV in the individual frame
    status, never in the URB status. Those host controller actually always
    pass in a zero status to usb_hcd_giveback_urb, and rely on the core to set
    the appropriate status value.

    The xHCI driver ran into issues with the uvcvideo driver when it tried to
    set -EXDEV in urb->status, because the driver refused to submit URBs, and
    the userspace camera application's video froze.

    Clean up the documentation to reflect the actual implementation.

    Signed-off-by: Sarah Sharp
    Acked-by: Alan Stern

    Sarah Sharp
     

24 May, 2011

1 commit

  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (205 commits)
    USB: EHCI: Remove SPARC_LEON {read,write}_be definitions from ehci.h
    USB: UHCI: Support big endian GRUSBHC HC
    sparc: add {read,write}*_be routines
    USB: UHCI: Add support for big endian descriptors
    USB: UHCI: Use ACCESS_ONCE rather than using a full compiler barrier
    USB: UHCI: Add support for big endian mmio
    usb-storage: Correct adjust_quirks to include latest flags
    usb/isp1760: Fix possible unlink problems
    usb/isp1760: Move function isp1760_endpoint_disable() within file.
    USB: remove remaining usages of hcd->state from usbcore and fix regression
    usb: musb: ux500: add configuration and build options for ux500 dma
    usb: musb: ux500: add dma glue layer for ux500
    usb: musb: ux500: add dma name for ux500
    usb: musb: ux500: add ux500 specific code for gadget side
    usb: musb: fix compile error
    usb-storage: fix up the unusual_realtek device list
    USB: gadget: f_audio: Fix invalid dereference of initdata
    EHCI: don't rescan interrupt QHs needlessly
    OHCI: fix regression caused by nVidia shutdown workaround
    USB: OTG: msm: Free VCCCX regulator even if we can't set the voltage
    ...

    Linus Torvalds
     

30 Apr, 2011

2 commits

  • This patch (as1459) updates the documentation for the pre_reset method
    in struct usb_driver. When a driver is notified of an impending
    reset, it must cancel all outstanding I/O and not start any new I/O
    until it has been notified that the reset is complete.

    As far as I know, most existing drivers that implement pre_reset do
    this now. The major exceptions appear to be the SpeedTouch and
    CDC-WDM drivers.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Commit 1c6529e92b "USB: gadget: g_multi: fixed vendor and
    product ID" replaced g_multi's vendor and product ID with
    proper ID's from Linux Foundation. This commit now updates
    INF files in the Documentation/usb directory which were
    omitted in the original commit.

    Signed-off-by: Michal Nazarewicz
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Michal Nazarewicz
     

22 Mar, 2011

1 commit


05 Feb, 2011

1 commit

  • This is based on a patch that Alan Stern wrote. It did the same simple
    thing in both text and binary cases. In the same time, Marton and I
    fixed the binary side properly, but this leaves the text to be fixed.
    It is not very important due to low maxium data size of text, but
    let's add it just for extra correctness.

    The pseudocode is too much to keep fixed up, and we have real code
    to be used as examples now, so let's drop it too.

    Signed-off-by: Pete Zaitcev
    Signed-off-by: Greg Kroah-Hartman

    Pete Zaitcev
     

17 Nov, 2010

1 commit

  • This patch (as1428) converts USB over to the new runtime-PM core
    autosuspend framework. One slightly awkward aspect of the conversion
    is that USB devices will now have two suspend-delay attributes: the
    old power/autosuspend file and the new power/autosuspend_delay_ms
    file. One expresses the delay time in seconds and the other in
    milliseconds, but otherwise they do the same thing. The old attribute
    can be deprecated and then removed eventually.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

23 Oct, 2010

1 commit


11 Aug, 2010

6 commits

  • A short documentation of the g_multi driver along with INF
    files for Windows XP SP3 are provided.

    Signed-off-by: Michal Nazarewicz
    Signed-off-by: Kyungmin Park
    Signed-off-by: Greg Kroah-Hartman

    Michal Nazarewicz
     
  • Updated the INF file for g_serial gadget. It should work with
    most recent Windows systems now.

    Signed-off-by: Michal Nazarewicz
    Signed-off-by: Kyungmin Park
    Signed-off-by: Greg Kroah-Hartman

    Michal Nazarewicz
     
  • Updated the INF file for the g_ether gadget. It should work with most
    recent Windows systems now.

    Signed-off-by: Michal Nazarewicz
    Signed-off-by: Kyungmin Park
    Signed-off-by: Greg Kroah-Hartman

    Michal Nazarewicz
     
  • Documentation/usb/linux.inf:66: ERROR: trailing whitespace
    Documentation/usb/linux.inf:67: ERROR: trailing whitespace
    Documentation/usb/linux.inf:98: ERROR: trailing whitespace
    Documentation/usb/linux.inf:99: ERROR: trailing whitespace
    Documentation/usb/linux.inf:115: ERROR: trailing whitespace
    Documentation/usb/linux.inf:116: ERROR: trailing whitespace
    Documentation/usb/linux.inf:120: ERROR: trailing whitespace
    Documentation/usb/linux.inf:121: ERROR: trailing whitespace
    Documentation/usb/linux.inf:122: ERROR: trailing whitespace
    Documentation/usb/linux.inf:123: ERROR: trailing whitespace
    Documentation/usb/linux.inf:144: ERROR: trailing whitespace
    Documentation/usb/linux.inf:145: ERROR: trailing whitespace
    Documentation/usb/linux.inf:146: ERROR: trailing whitespace
    Documentation/usb/linux.inf:147: ERROR: trailing whitespace
    Documentation/usb/linux.inf:158: ERROR: trailing whitespace

    Signed-off-by: Andrea Gelmini
    Signed-off-by: Greg Kroah-Hartman

    Andrea Gelmini
     
  • Documentation/usb/hotplug.txt:13: ERROR: trailing whitespace
    Documentation/usb/hotplug.txt:87: ERROR: trailing whitespace

    Signed-off-by: Andrea Gelmini
    Signed-off-by: Greg Kroah-Hartman

    Andrea Gelmini
     
  • Documentation/usb/ehci.txt:12: ERROR: trailing whitespace

    Signed-off-by: Andrea Gelmini
    Signed-off-by: Greg Kroah-Hartman

    Andrea Gelmini
     

04 Aug, 2010

1 commit

  • Below you will find an updated version from the original series bunching all patches into one big patch
    updating broken web addresses that are located in Documentation/*
    Some of the addresses date as far far back as 1995 etc... so searching became a bit difficult,
    the best way to deal with these is to use web.archive.org to locate these addresses that are outdated.
    Now there are also some addresses pointing to .spec files some are located, but some(after searching
    on the companies site)where still no where to be found. In this case I just changed the address
    to the company site this way the users can contact the company and they can locate them for the users.

    Signed-off-by: Justin P. Mattock
    Signed-off-by: Thomas Weber
    Signed-off-by: Mike Frysinger
    Cc: Paulo Marques
    Cc: Randy Dunlap
    Cc: Michael Neuling
    Signed-off-by: Jiri Kosina

    Justin P. Mattock
     

21 May, 2010

8 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits)
    USB: remove unused usb_buffer_alloc and usb_buffer_free macros
    usb: musb: update gfp/slab.h includes
    USB: ftdi_sio: fix legacy SIO-device header
    USB: kl5usb105: reimplement using generic framework
    USB: kl5usb105: minor clean ups
    USB: kl5usb105: fix memory leak
    USB: io_ti: use kfifo to implement write buffering
    USB: io_ti: remove unsused private counter
    USB: ti_usb: use kfifo to implement write buffering
    USB: ir-usb: fix incorrect write-buffer length
    USB: aircable: fix incorrect write-buffer length
    USB: safe_serial: straighten out read processing
    USB: safe_serial: reimplement read using generic framework
    USB: safe_serial: reimplement write using generic framework
    usb-storage: always print quirks
    USB: usb-storage: trivial debug improvements
    USB: oti6858: use port write fifo
    USB: oti6858: use kfifo to implement write buffering
    USB: cypress_m8: use kfifo to implement write buffering
    USB: cypress_m8: remove unused drain define
    ...

    Fix up conflicts (due to usb_buffer_alloc/free renaming) in
    drivers/input/tablet/acecad.c
    drivers/input/tablet/kbtab.c
    drivers/input/tablet/wacom_sys.c
    drivers/media/video/gspca/gspca.c
    sound/usb/usbaudio.c

    Linus Torvalds
     
  • Now that URB_NO_SETUP_DMA_MAP is no longer in use, this patch (as1376)
    removes all references to it.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Add support for the parallel port on the moschip MCS7715 device. The port
    registers itself with the parport subsystem as a low-level driver. A separate
    entry to the kernel configuration is added beneath that for the mos7720, to
    avoid the need to link with the parport subsystem code for users who don't have
    or don't want the parallel port. Only compatibility mode is currently supported
    (no ECP/EPP). Tested with both moschip devices (7720 and 7715) on UP and SMP
    hosts, including regression testing of serial port, concurrent operation of
    serial and parallel ports, and various connect / disconnect scenarios.

    Signed-off-by: Mike Dunn
    Signed-off-by: Greg Kroah-Hartman

    Mike Dunn
     
  • For more clearance what the functions actually do,

    usb_buffer_alloc() is renamed to usb_alloc_coherent()
    usb_buffer_free() is renamed to usb_free_coherent()

    They should only be used in code which really needs DMA coherency.

    All call sites have been changed accordingly, except for staging
    drivers.

    Signed-off-by: Daniel Mack
    Cc: Alan Stern
    Cc: Pedro Ribeiro
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • Documentation update

    Signed-off-by: Greg Kroah-Hartman

    Eric Raymond
     
  • Bulk endpoint streams were added in the USB 3.0 specification. Streams
    allow a device driver to overload a bulk endpoint so that multiple
    transfers can be queued at once.

    The device then decides which transfer it wants to work on first, and can
    queue part of a transfer before it switches to a new stream. All this
    switching is invisible to the device driver, which just gets a completion
    for the URB. Drivers that use streams must be able to handle URBs
    completing in a different order than they were submitted to the endpoint.

    This requires adding new API to set up xHCI data structures to support
    multiple queues ("stream rings") per endpoint. Drivers will allocate a
    number of stream IDs before enqueueing URBs to the bulk endpoints of the
    device, and free the stream IDs in their disconnect function. See
    Documentation/usb/bulk-streams.txt for details.

    The new mass storage device class, USB Attached SCSI Protocol (UASP), uses
    these streams API.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • This patch (as1367) deprecates USB's power/level sysfs attribute in
    favor of the power/control attribute provided by the runtime PM core.
    The two attributes do the same thing.

    It would be nice to replace power/level with a symlink to
    power/control, but at the moment sysfs doesn't offer any way to do so.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • g_hid is a USB gadget driver implementing the Human Interface Device class
    specification. The driver handles basic HID protocol handling in the
    kernel, and allows userspace to read/write HID reports trough /dev/hidgX
    character devices.

    Signed-off-by: Fabien Chouteau
    Signed-off-by: Peter Korsgaard
    Signed-off-by: Greg Kroah-Hartman

    Fabien Chouteau
     

23 Apr, 2010

1 commit


03 Mar, 2010

3 commits

  • This patch (as1329) converts the USB stack over to the PM core's
    runtime PM framework. This involves numerous changes throughout
    usbcore, especially to hub.c and driver.c. Perhaps the most notable
    change is that CONFIG_USB_SUSPEND now depends on CONFIG_PM_RUNTIME
    instead of CONFIG_PM.

    Several fields in the usb_device and usb_interface structures are no
    longer needed. Some code which used to depend on CONFIG_USB_PM now
    depends on CONFIG_USB_SUSPEND (requiring some rearrangement of header
    files).

    The only visible change in behavior should be that following a system
    sleep (resume from RAM or resume from hibernation), autosuspended USB
    devices will be resumed just like everything else. They won't remain
    suspended. But if they aren't in use then they will naturally
    autosuspend again in a few seconds.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as1326) adds usb_enable_autosuspend() and
    usb_disable_autosuspend() routines for use by drivers. If a driver
    knows that its device can handle suspends and resumes correctly, it
    can enable autosuspend all by itself. This is equivalent to the user
    writing "auto" to the device's power/level attribute.

    The implementation differs slightly from what it used to be. Now
    autosuspend is disabled simply by doing usb_autoresume_device() (to
    increment the usage counter) and enabled by doing
    usb_autosuspend_device() (to decrement the usage counter).

    The set_level() attribute method is updated to use the new routines,
    and the USB Power-Management documentation is updated.

    The patch adds a usb_enable_autosuspend() call to the hub driver's
    probe routine, allowing the special-case code for hubs in quirks.c to
    be removed.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as1316) adds some error checking to usb_submit_urb().
    It's conditional on CONFIG_USB_DEBUG, so it won't affect normal users.
    The new check makes sure that the actual type of the endpoint
    described by urb->pipe agrees with the type encoded in the pipe value.

    The USB error code documentation is updated to include the code
    returned by the new check, and the usbfs SUBMITURB handler is updated
    to use the correct pipe type when legacy user code tries to submit a
    bulk transfer to an interrupt endpoint.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

24 Dec, 2009

1 commit