An error occurred fetching the project authors.
  1. 08 Aug, 2002 1 commit
  2. 06 Aug, 2002 1 commit
    • David Brownell's avatar
      [PATCH] expose dma_addr_t in urbs · 70b34cbd
      David Brownell authored
      This patch exposes DMA addresses in URBs.  It exposes new APIs that
      let drivers be a bit smarter in terms of DMA, reducing USB overhead
      on some platforms (but not commodity pcs).  As discussed with DaveM,
      and on the usb-devel list.
      
      Supporting patches are still needed.  Of course, there's teaching HCDs
      to use _these_ addresses when they're provided (easy).  There's also
      teaching drivers (like hid) to use the new usb_buffer_alloc() support,;
      can happen incrementally.  And adding scatterlist support, which will
      be desirable for usb-storage and hpusbscanner.  But this is the start
      needed to get all of that going.
      70b34cbd
  3. 05 Aug, 2002 1 commit
    • Andries E. Brouwer's avatar
      [PATCH] usb_string fix · 5b1e5be8
      Andries E. Brouwer authored
      Things are indeed as conjectured, and I can reproduce the situation
      where usb_string() returns -EPIPE. Now that this is an internal
      error code for the USB subsystem, and not meant to get out to the
      user, I made these driverfs files empty in case of error.
      (While if there is no error but the string has length 0,
      the file will consist of a single '\n'.)
      
      One fewer random memory corruption. Unfortunately, there are more.
      
      Andries
      5b1e5be8
  4. 01 Aug, 2002 2 commits
    • Patrick Mochel's avatar
      b74d2576
    • David Brownell's avatar
      [PATCH] USB: driverfs paths · 347563f5
      David Brownell authored
      I noticed a minor goof, basically an open issue coming home to
      roost.  For the root hub, usb_device->devpath was "/" so it
      caused problems using devpath when constructing names for
      interfaces.  Driverfs doesn't reject it, but of course the
      resulting directory names can't be used...
      
      This patch (untested, but compiles) should make devpath in that
      case be "0" ... which can't collide with any path through hub
      ports (first port == "1") so it's possible to use driverfs
      paths again.
      347563f5
  5. 30 Jul, 2002 1 commit
  6. 25 Jul, 2002 1 commit
  7. 24 Jul, 2002 2 commits
  8. 22 Jul, 2002 1 commit
  9. 19 Jul, 2002 1 commit
    • Rusty Russell's avatar
      [PATCH] drivers/usb/* designated initializer rework · cfe2b798
      Rusty Russell authored
      Name: Designated initializers for drivers/usb
      Author: Rusty Russell
      Status: Trivial
      
      D: The old form of designated initializers are obsolete: we need to
      D: replace them with the ISO C forms before 2.6.  Gcc has always supported
      D: both forms anyway.
      cfe2b798
  10. 18 Jul, 2002 1 commit
  11. 05 Jul, 2002 3 commits
    • Greg Kroah-Hartman's avatar
    • David Brownell's avatar
      [PATCH] usb driverfs, +misc · dcc98433
      David Brownell authored
      This fixes a couple issues I noted when I finally spent some time
      looking at the first version of driverfs support for usb:
      
      - "name" fields (really descriptions) aren't very useful.
      
           * for devices, they always said "USB device 0000:0000"
               --> Now they'll only say that when there's
                   nothing better to be said ...
               --> ... and it's really device 0000:0000!  It was
                   using device descriptor fields before they were
                   fetched from the device.
               --> Uses product and/or manufacturer strings, which
                   most devices have, much like PCI uses the PCI ID
                   database (when it's compiled in)
      
           * for interfaces, it was "figure out some name..."
               --> Now it combines the strings used in the
                   usb_make_path() call with interface number
               --> Or in the remote chance a device provides
                   an interface string, that's preferred.
               --> In general, I think the driver for each
                   interface is best suited to describe it;
                   I modified the hub driver to do so.
      
      - "bus_id" field
      
           * For hub ports, it was wasting code: we know the port
             already, no need to search for it.  Plus, it used
             0-index ids not the 1-index ones matching physical
             labels on hubs, and other user-visible diagnostics.
      
           * For interfaces, it mixed the device address with the
             interface number ... producing unstable IDs that were
             moreover rather cryptic.  Changed:  "if0" now, using
             the interface ID (not index).
      
           * For busses, left "usb_bus" alone ... :)
      
      - Adds two files exposing current configuration (for devices)
         and altsetting (for interfaces).
      
      - I was getting a useless diagnostic from the hub driver,
         now it's less useless (it fully identifies the hub)
      dcc98433
    • Greg Kroah-Hartman's avatar
      USB: removed file ops from usb device structure · 112b9631
      Greg Kroah-Hartman authored
      Moved the file ops and minor number stuff out of the usb structure,
      Now usb_register_dev() and usb_deregister_dev() must be called if 
      you want to use the USB major number.
      112b9631
  12. 30 May, 2002 5 commits
  13. 28 May, 2002 1 commit
    • Johann Deneux's avatar
      [PATCH] Documentation in usb.c · bd183368
      Johann Deneux authored
      It seems to me that code and comments disagree in drivers/usr/core/usb.c.
      
      I attached a patch fixing the comments. Hopefully the code is right :)
      This patch is against 2.5.16
      bd183368
  14. 24 May, 2002 1 commit
  15. 17 May, 2002 1 commit
  16. 16 May, 2002 1 commit
  17. 13 May, 2002 3 commits
    • Greg Kroah-Hartman's avatar
      [PATCH] USB device reference counting api cleanup changes · 04adba5a
      Greg Kroah-Hartman authored
      This patch replaces the awkwardly named usb_inc_dev_use() and
      usb_dec_dev_use() with usb_get_dev() and usb_put_dev() to match the
      naming convention of the rest of the kernel's reference counted
      structures.  It also does away with the special case of usb_free_dev(),
      and has usb_put_dev() be the same thing (through a #define, just like
      usb_free_urb() works.)
      
      Now when the last person calls usb_put_dev() or usb_free_dev() the
      structure is cleaned up.  This allows the different host controller
      drivers to implement their logic differently if they want to (as they
      do), and everyone can be happy and stop arguing about the "proper" way
      to write their host controller drivers :)
      04adba5a
    • Johannes Erdfelt's avatar
      [PATCH] USB device reference counting fix for uhci.c and usb core · 25f04c13
      Johannes Erdfelt authored
      Earlier in the 2.5 development cycle a patch was applied that changed
      the reference counting behaviour for USB devices.
      
      There are a couple of problems with the change:
      - It made the USB code more complicated as a whole with the introduction
        of an additional cleanup path for devices. Using the traditional method
        of reference counting, cleanup is handled implictly
      - It reduces functionality by requiring a callback for all references to
        the device, but doesn't provide a method of providing callbacks for
        references. It relies on the hardcoded device driver ->disconnect and
        HCD ->deallocate method for callbacks
      
      The traditional method of using reference counting supports as many
      reference users as needed, without complicating it with mandatory
      callbacks to cleanup references.
      
      The change in 2.5 also only helps catch one subset of programming
      problem in device drivers, the case where it decrements too many times.
      That is of dubious debugging value.
      
      So, this patch reverts the change and makes the reference counting
      behave like it does in the rest of the kernel as well as how the USB
      code does in 2.4.
      
      This patch doesn't remove all of the superfluous code. Some drivers,
      like usb-ohci, ohci-hcd and ehci-hcd have some code that is no longer
      needed. I wanted to spend some more time with those drivers since the
      changes weren't as trivial as uhci.c and usb-uhci.c.
      
      I've tested with uhci and usb-ohci with no adverse effects.
      25f04c13
    • Greg Kroah-Hartman's avatar
      [PATCH] usb_submit_urb fix for broken usb devices · 88bcb34e
      Greg Kroah-Hartman authored
      added check for wMaxPacketSize of 0, which is a messed up device, but
      seems to be legal according to the USB spec.
      
      Thanks to Johannes for figuring out the problem, and providing an
      original version of this patch.
      88bcb34e
  18. 11 May, 2002 1 commit
    • David Brownell's avatar
      [PATCH] -- hub/tt error recovery · c37126dd
      David Brownell authored
      This patch adds missing functionality to the transaction translator
      support for USB 2.0 hubs:
      
          - moves the 'struct usb_tt' definition to "hub.h" from <linux/usb.h>
          - adds state to it as neeed for some control/bulk error recovery
          - teaches the hub driver how to use that state (via keventd)
          - adds a call letting HCDs trigger that recovery
      c37126dd
  19. 06 May, 2002 1 commit
  20. 26 Apr, 2002 2 commits
    • Greg Kroah-Hartman's avatar
      USB core · f123a327
      Greg Kroah-Hartman authored
      added check for num_minors at registration time to catch buggy drivers.
      f123a327
    • Greg Kroah-Hartman's avatar
      USB core · 7cd6abc5
      Greg Kroah-Hartman authored
      document the return value of usb_register_dev() better.
      7cd6abc5
  21. 25 Apr, 2002 2 commits
    • Greg Kroah-Hartman's avatar
      added CONFIG_USB_DYNAMIC_MINORS support to the USB core · 5e9b6284
      Greg Kroah-Hartman authored
      Here's a patch that finishes off my previous patch that enabled us to
      use less than 16 minor numbers per USB device that uses the USB major
      number.  This patch allows all such devices to share all 256 minor
      numbers at once, much like the usbserial core shares the USB serial
      major with all usb-serial drivers.  This also solves Oliver's problem of
      having 30 printers :)
      5e9b6284
    • David Brownell's avatar
      [PATCH] PATCH 2.5.10 -- polling interval (hub + ...) · 3b4f1bc8
      David Brownell authored
      This patch is the result of that discussion a short while back
      to fix the "hub driver polls too quickly at high speed" bug.
      
          - redefines "interval" of usb_fill_int_urb() to be what
            the endpoint descriptor returns, and transparently
            does the log-to-linear conversion if it's high speed
      
          - (most of the patch by volume!!) moves declarations
            forward so testing dev->speed there will compile.
      
      No driver changes were needed -- most drivers pass the
      endpoint bInterval value already, and those that don't are
      not dealing with high speed device quirks.
      
      p.s. Includes an unrelated one-liner:  deletes export of
          usb_inc_dev_use() so it now shows up in kernel doc.
          Minor oversight in an earlier patch.
      3b4f1bc8
  22. 22 Apr, 2002 1 commit
    • Dominik Kuhlen's avatar
      [PATCH] fix USB documentation bug · 93758098
      Dominik Kuhlen authored
      USB fix documentation bug
      
       After some source investigations I discovered a harmless mistake:
       The description of the  usb_control_msg(...) function says
       it returns 0, or less than 0 if an error occured, but
       the usb_internal_control_msg returns length, which is sometimes >0
       (success) or <0 if error.
      93758098
  23. 18 Apr, 2002 1 commit
    • Greg Kroah-Hartman's avatar
      USB core · c2aff941
      Greg Kroah-Hartman authored
      Took out the limitation that drivers had to take up 16 minors.  Now
      they can use only 1 if they want to.
      c2aff941
  24. 16 Apr, 2002 1 commit
    • Rusty Russell's avatar
      [PATCH] USB set-bit takes a long tweaks · b1d0f8a2
      Rusty Russell authored
      This removes gratuitous & operators in front of USB's
      dev->bus->devmap.devicemap and state->unitbitmap, for bitops.
      
      This just makes it so it doesn't warn when set_bit et. al take a
      long...
      
      No object code changes,
      Rusty.
      b1d0f8a2
  25. 09 Apr, 2002 1 commit
    • David Brownell's avatar
      [PATCH] USB physical paths id · 3668d7cd
      David Brownell authored
      This provides something that gets discussed regularly: stable
      device IDs.  Straightforward; most of it was already present:
      
          - Moves "bus_name" out of HCD framework into usb_bus.
            This accounts for _by far the bulk_ of this patch, since
            every use of that original field needed to change.
      
          - Make Vojtech's usb_make_path() use bus_name instead
            of unstable bus numbers ... and usb_device->devpath
            instead of recomputing that same info.  Combine two
            stable IDs, and the result is still stable.  And since both
            are precomputed, usb_make_path() turns into only an
            error check wrapped around snprintf() ... so I inlined it.
      
          - Minor tweak to usb_device->devpath construction.  It
            still uses "/" for the root hub (better suggestions?) but
            Vojtech wanted "." for separators, so I changed that.
      
          - The older HCDs (uhci.c etc) initialize usb_bus.bus_name,
            as well as the sharable HCD framework
      
          - HCD framework no longer uses "bus" member.
      
      These IDs are currently exposed in "input" hotplugging, and
      my next patch addresses that for USB network devices.
      3668d7cd
  26. 08 Apr, 2002 3 commits
    • Greg Kroah-Hartman's avatar
      USB · ca433637
      Greg Kroah-Hartman authored
      cleaned up the comments to put them in proper docbook format.
      ca433637
    • David Brownell's avatar
      This patch is a more complete fix for the device refcount · 99e471c7
      David Brownell authored
      sanity checking and cleanup on device disconnect.
        
          - Splits apart usb_dec_dev_use(), for driver use, and
            usb_free_dev(), for hub/hcd use.  Both now have
            kerneldoc, and will BUG() if the refcount and the
            device tree get out of sync.  (Except for cleanup of
            root hub init errors, refcount must go to zero only
            at the instant disconnect processing completes.)
        
          - More usbcore-internal function declarations are
            now moved out of <linux/usb.h> into hcd.h
        
          - Driver-accessible refcounting is now inlined; minor
            code shrinkage, it's using atomic inc/dec instructions
            not function calls.
      
      <note from greg k-h, there is still some work to be done with USB device
       reference counting, but this patch is a step in the right direction.>
      99e471c7
    • Dan Streetman's avatar
      [PATCH] usbfs disconnect · b46bff09
      Dan Streetman authored
      This was originally created by David many months ago and posted to the
      list, but not put into the kernel.
      
      I modified the original patch to:
      -patch against the 2.5.7 kernel
      -use the 'real' interface number, not position (to do this I added 2
       methods in usb.c)
      b46bff09