09 Sep, 2005

40 commits

  • Linus Torvalds
     
  • Linus Torvalds
     
  • Linus Torvalds
     
  • Signed-off-by: Henk Vergonet
    Signed-off-by: Greg Kroah-Hartman

    Henk
     
  • sparse still complains about the htons usage, but I'll leave that for
    others to fix.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This patch aggregates all modifications in the -mm tree and adds
    complete ringtone support.

    The following features are supported:
    - keyboard full support
    - LCD full support
    - LED full support
    - dialtone full support
    - ringtone full support
    - audio playback via generic usb audio diver
    - audio record via generic usb audio diver

    For driver documentation see: Documentation/input/yealink.txt
    For vendor documentation see: http://yealink.com

    Signed-off-by: Henk
    Signed-off-by: Greg Kroah-Hartman

    Henk
     
  • As sugested by Alan Stern here are a few code cleanups for onetouch.c:

    -Check number of endpoints before directly referencing intf->endpoint[2]
    -Use defined constants instead of magic numbers
    -Revmove the non-ascii characters from copyright notice
    -Make registration and deregistration messages more similar

    Signed-off-by: Nick Sillik
    Signed-off-by: Greg Kroah-Hartman

    Nick Sillik
     
  • This code looks at urb->transfer_dma, maps the page and takes the data.
    I am looking for volunteers to contribute architectures other than i386
    or to develop an architecure-neutral API for it (or point me that it
    was done already).

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

    Pete Zaitcev
     
  • This adds the field tt_usecs to ehci_qh and ehci_iso_stream, and sets it
    appropriately when setting them up as periodic endpoints. It records
    the transation translator's think_time (added in last patch) plus the
    downstream (i.e. low or full speed) bustime of the transfer associated
    with each interrupt or iso frame, as calculated by usb_calc_bus_time.

    Signed-off-by: Dan Streetman
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    david-b@pacbell.net
     
  • This adds think_time to the usb_tt struct and sets it appropriately
    (measured in ns); this can help us implement better split transaction
    scheduling.

    Signed-off-by: Dan Streetman
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    david-b@pacbell.net
     
  • This wraps up the conversion of the "usbnet" driver structure, by
    moving the Prolific PL-2201/2302 minidriver to a module of its own.
    It also includes some minor cleanups to the remaining "usbnet" file,
    notably removing that long changelog at the top.

    Minor historical note: Linux 2.2 first called the driver for
    this hardware "plusb".

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This adds host-side RNDIS support to the "usbnet" driver, so Linux can talk
    to various devices (often based on WinCE) that otherwise only Windows could
    talk to.

    Tested with little-endian Linux talking to a Linux-USB Ethernet/RNDIS based
    peripheral. This also includes updates from Eddie C. Dost
    for big-endian SPARC Linux talking to a Nokia 9500 Communicator.

    It's still marked as EXPERIMENTAL because this code is so young. This
    ought to let Linux to work with various cable modems that previously
    would have been "Windows Only".

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Makes the CDC Ethernet support live in a separate driver module.
    This module is a bit special since it exports utility functions
    that are reused by the the Zaurus and RNDIS drivers, but it's
    not "core" like usbnet itself.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This moves usbnet support for Zaurus and compatibles into its own module.
    Other than exporting a couple of helper functions, this just involved
    shuffling some code and updating the comments.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This moves the GeneSys GL620USB-A support into its own driver file.
    It also fixes a "return wrong skb" glitch in the rx unbatching, as
    recently reported, and adds some missing byteswaps in the special
    "genelink" headers (so it might now work on big-endian Linux).

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • As with the "cdc_subset" and "asix" drivers, this just moves the net1080
    support into its one driver module. In this case there's a small bit of
    extra cleanup involved, moving some funky framing logic into the tx_fixup()
    routine (resolving a long overdue FIXME).

    Minor historical note: "usbnet" started out as "net1080", then got
    generalized to make it easier for other network drivers to reuse the
    urb queueing and fault management code here.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This patch moves the ASIX AX8817x driver into its own file, just using
    the "usbnet" infrastructure as a utility library.

    - As with "cdc_subset" this involved minor Kconfig/kbuild tweaks,
    moving code from one file to another, and exporting a few functions.

    - This includes updates from Jamie Painter to add (and use) a new hook
    to handle the different maximum transfer sizes for rx and tx sides.

    - Also from Jamie, some bugfixes:
    * MDIO byteorder (to address some PPC media negotiation problems);
    * Force alignment at key spots when using ax88772 framing (on some
    embedded hardware, the network stack will break otherwise);
    * Address some link reset problems.

    It also makes this driver use the standard (5 seconds vs half second)
    control timeouts used elsewhere in USB; and wraps a few lines before
    the 80th column (which previously needed it).

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This patch creates the first of several separate "minidriver" modules
    for "usbnet". This one handles only the very simplest hardware, which
    can be handled almost entirely by the "usbnet" core.

    - Move device-specific bits into new "cdc_subset.c" driver,
    shrinking "usbnet" by a bunch;

    - Export the functions needed to support this minidriver
    (with EXPORT_SYMBOL_GPL);

    - Update Kconfig and kbuild accordingly.

    This one handles about a dozen different device types, with the most
    notable ones being Gumstix and most Linux-based PDAs (except Zaurus
    running that ancient code from Sharp).

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • This starts to prepare the core of "usbnet" to know less about various
    framing protocols that map Ethernet packets onto USB, so "minidrivers"
    can be modules that just plug into the core.

    - Remove some framing-specific code that cluttered the core:

    * net->hard_header_len records how much space to preallocate;
    now drivers that add their own framing (Net1080, GeneLink,
    Zaurus, and RNDIS) will have smoother TX paths. Even for
    the drivers (Zaurus, Net1080) that need trailers.

    * defines new dev->hard_mtu, using this "hardware" limit to
    check changes to the link's settable "software" mtu.

    * now net->hard_header_len and dev->hard_mtu are set up in the
    driver bind() routines, if needed.

    - Transaction ID is no longer specific to the Net1080 framing;
    RNDIS needs one too.

    - Creates a new "usbnet.h" header with declarations that are shared
    between the core and what will be separate modules.

    - Plus a couple other minor tweaks, like recognizing -ESHUTDOWN
    means the keventd work should just shut itself down asap.

    The core code is only about 1/3 of this large file. Splitting out the
    minidrivers into separate modules (e.g. ones for ASIX adapters,
    Zaurii and similar, CDC Ethernet, etc), in later patches, will
    improve maintainability and shrink typical runtime footprints.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Fix

    drivers/usb/misc/ldusb.c: In function `ld_usb_read':
    drivers/usb/misc/ldusb.c:467: warning: int format, different type arg (arg 4)
    drivers/usb/misc/ldusb.c: In function `ld_usb_write':
    drivers/usb/misc/ldusb.c:531: warning: int format, different type arg (arg 4)
    drivers/usb/misc/ldusb.c:532: warning: int format, different type arg (arg 5)
    drivers/usb/misc/ldusb.c:532: warning: int format, different type arg (arg 6)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Greg Kroah-Hartman

    Alexey Dobriyan
     
  • Deprecate the OSS USB drivers.

    This patch includes spelling fixes by Lee Revell.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • ohci-ppc-soc.c provides for a platform-specific callback mechanism for
    when the HC is successfully probed or removed. It turned out that none
    of the 3 platforms using it need this facility. Also the required
    include/asm-ppc/usb.h has never been accepted. This patch removes the
    callback feature and the include of .

    Signed-off-by: Dale Farnsworth
    Signed-off-by: Greg Kroah-Hartman

    Dale Farnsworth
     
  • Avoid an annoying message that can appear if devices are disconnected
    in the middle of a USB scatterlist operation.

    Message noted in http://bugzilla.kernel.org/show_bug.cgi?id=4373
    (but the real issue there seems to be a SCSI level hang).

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    david-b@pacbell.net
     
  • Use a more correct calculation for highspeed bit times.

    http://bugzilla.kernel.org/show_bug.cgi?id=3604

    This sort if thing might start to make a difference now that the high
    speed periodic scheduler is more complete -- and even getting used.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    david-b@pacbell.net
     
  • This patch (as556) adds support for unbinding the usb_generic "driver".
    That driver only binds to USB devices, as opposed to interfaces, and it
    does nothing much besides marking which struct device's go with an
    overall USB device plus providing suspend/resume methods. Now that
    users can unbind drivers at will using the sysfs "unbind" attribute, we
    need a rational way of dealing with USB devices that are no longer under
    full control of the USB stack. The patch handles this by unconfiguring
    the device, thereby removing all the interfaces and their associated
    drivers and children.

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

    Alan Stern
     
  • This patch (as555) modifies the already-awkward
    usb_lock_device_for_reset routine in usbcore by adding a timeout. The
    whole point of the routine is that the caller wants to acquire some
    semaphores in the wrong order; protecting against the possibility of
    deadlock by timing out seems only prudent.

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

    Alan Stern
     
  • Signed-off-by: Dale Farnsworth
    Signed-off-by: Greg Kroah-Hartman

    Dale Farnsworth
     
  • Fix the port numbering confusion for the S3C24XX platform device
    information as reported by Rudy

    This patch ensurs that the the ports are numbered 0 and 1.

    Signed-off-by: Ben Dooks
    Signed-off-by: Greg Kroah-Hartman

    Ben Dooks
     
  • This patch (as554) makes the hub driver disconnect any child USB devices
    when it is unbound from a hub. Normally this will never happen, but
    there are a few oddball ways to unbind the hub driver while leaving the
    children intact. For example, the new "unbind" sysfs attribute can be
    used for this purpose.

    Given that unbinding hubs with children is now safe, the patch also
    removes the code that prevented people from doing so using usbfs.

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

    Alan Stern
     
  • This patch (as553) merely moves some code and deletes an unneeded test in
    the hub driver. This is in preparation for the patch that follows.

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

    Alan Stern
     
  • Adding flash-device support to the shuttle_usbat driver in 2.6.11
    introduced the need to detect which type of device we are dealing with:
    CDRW drive, or flash media reader.

    The detection routine used turned out to not work for HP8200 CDRW users,
    who saw their devices being detected as a flash disk.

    This patch (which has been tested on both flash and cdrom) removes some
    unnecessary code, moves device detection to much later during
    initialization, and introduces a new detection routine which appears to
    work.

    Signed-off-by: Daniel Drake
    Signed-off-by: Greg Kroah-Hartman

    Daniel Drake
     
  • Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • 29 July 2005, Cambridge, MA:

    This afternoon Alan Stern submitted a patch to remove the URB_ASYNC_UNLINK
    flag from the Linux kernel. Mr. Stern explained, "This flag is a relic
    from an earlier, less-well-designed system. For over a year it hasn't
    been used for anything other than printing warning messages."

    An anonymous spokesman for the Linux kernel development community
    commented, "This is exactly the sort of thing we see happening all the
    time. As the kernel evolves, support for old techniques and old code can
    be jettisoned and replaced by newer, better approaches. Proprietary
    operating systems do not have the freedom or flexibility to change so
    quickly."

    Mr. Stern, a staff member at Harvard University's Rowland Institute who
    works on Linux only as a hobby, noted that the patch (labelled as548) did
    not update two files, keyspan.c and option.c, in the USB drivers' "serial"
    subdirectory. "Those files need more extensive changes," he remarked.
    "They examine the status field of several URBs at times when they're not
    supposed to. That will need to be fixed before the URB_ASYNC_UNLINK flag
    is removed."

    Greg Kroah-Hartman, the kernel maintainer responsible for overseeing all
    of Linux's USB drivers, did not respond to our inquiries or return our
    calls. His only comment was "Applied, thanks."

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

    Alan Stern
     
  • This patch started life as as479b, and has been rediffed. Please note
    the order of submission of this latest patch series -- even tho this has
    an older original number, it is the last patch I'll be sending today.

    This patch changes the reported SCSI revision level to 2 for all
    disk-type devices. This is needed in a few cases because the device
    reports a level of 3 or higher but then crashes when given a REPORT LUNS
    command (for which support is supposed to be mandatory at those levels).
    This shouldn't harm us, since it only matters for sparse LUNs and we
    have separate ways of coping with that.

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

    Matthew Dharm
     
  • This patch is originally from Nick Sillik, and has been rediffed against
    the latest tree.

    This patch adds usability to the OneTouch Button on Maxtor External USB
    Hard Drives. Using an unusual device entry it declares an extra init
    function which claims the interrupt endpoint associated with this
    button. The button is connected to the input system.

    Signed-off-by: Nick Sillik
    Signed-off-by: Matthew Dharm
    Signed-off-by: Greg Kroah-Hartman

    Matthew Dharm
     
  • This patch started life as as534, and has been re-diffed against the latest
    tree.

    usb-storage has a small loophole, a window between the time queuecommand
    accepts a new command and the time the control thread starts to execute
    it. If disconnect is called during that window, the driver won't cancel
    the pending command -- we've been relying on the SCSI core to cancel it
    for us during host removal. But it's better for usb-storage to cancel
    it; this avoids races and reduces reliance on the SCSI core.
    Fortunately cancelling these commands is easy to do; the key is to do it
    _before_ calling scsi_remove_host.

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

    Matthew Dharm
     
  • This patch started life as as533, and has been re-diffed against the
    current tree.

    Disconnect processing in usb-storage naturally divides into two parts:
    one to quiesce the driver (make sure no commands are executing or
    queued) and remove the host, and the other to deallocate all the USB and
    non-USB resources. This patch creates two subroutines to handle those
    two parts. Mostly it's just code movement, but there is one significant
    change. If the scsi-scanning thread fails to initialize but the host
    has successfully been added, we need to quiesce the driver before
    removing the host. After all, it's possible that scanning could have
    been initiated from somewhere else, such as userspace -- very low
    probability, but it's easily handled by calling the new subroutine.

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

    Matthew Dharm
     
  • This patch started life as as531 from Alan Stern. It has been rediffed
    against the latest tree.

    The SCSI people have deprecated the use of scsi_cmnd.serial_number for
    anything other than printk. Worse than that, the SCSI core doesn't
    always increment the number (when the error handler is running, for
    example). So this patch creates a locally-stored value for use in
    bulk-only tags. The net result is a simplification, since we no longer
    have to save & restore the serial_number value while autosensing.

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

    Matthew Dharm
     
  • Switch isp116x-hcd over from root hub polling to interrupt. This change closes
    also a race that was present with the old polling scheme: status polling could
    happen in a time window, where root hub status bits were not stable.

    Signed-off-by: Olav Kongas
    Signed-off-by: Greg Kroah-Hartman

    Olav Kongas
     
  • This patch removes support for user-provided platform-specific hardware reset
    and clock starting/stopping functions. Hardware reset was needed earlier as
    getting the software reset working was tricky due to the lack of documentation.
    Recently, a number of people using isp116x have said the software reset is
    working for them.

    I haven't heard of anybody using the clock starting/stopping.

    Signed-off-by: Olav Kongas
    Signed-off-by: Greg Kroah-Hartman

    Olav Kongas