An error occurred fetching the project authors.
- 08 Aug, 2002 1 commit
-
-
Patrick Mochel authored
parameter, and just __stringify the name instead. Update all the users of the macros.
-
- 06 Aug, 2002 1 commit
-
-
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.
-
- 05 Aug, 2002 1 commit
-
-
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
-
- 01 Aug, 2002 2 commits
-
-
Patrick Mochel authored
DEVICE_ATTR macro.
-
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.
-
- 30 Jul, 2002 1 commit
-
-
Patrick Mochel authored
do a s/driver_file_entry/device_attribute/g on all of them.
-
- 25 Jul, 2002 1 commit
-
-
Greg Kroah-Hartman authored
Thanks to David Brownell for pointing out where my previous patch was wrong.
-
- 24 Jul, 2002 2 commits
-
-
Neil Brown authored
Define container_of which cast from member to struct with some type checking. This is much like list_entry but is cearly for things other than lists. List_entry now uses container_of.
-
Greg Kroah-Hartman authored
This is needed as long as we have the directory of symlinks in the bus subdir in driverfs to point to the unique interfaces.
-
- 22 Jul, 2002 1 commit
-
-
Christopher Hoover authored
Unlike previous version, this one doesn't oops and is perspicuous. Please apply.
-
- 19 Jul, 2002 1 commit
-
-
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.
-
- 18 Jul, 2002 1 commit
-
-
Oliver Neukum authored
This is a merge of a bunch of SMP and locking fixes for the USB code that Oliver has sent me (greg k-h) over the past few weeks.
-
- 05 Jul, 2002 3 commits
-
-
Greg Kroah-Hartman authored
-
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)
-
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.
-
- 30 May, 2002 5 commits
-
-
Patrick Mochel authored
-
Patrick Mochel authored
-
Patrick Mochel authored
-
Patrick Mochel authored
- Set interface's bus type as they're registered with core - Set bus_id to have device number as well as interface number
-
Patrick Mochel authored
-
- 28 May, 2002 1 commit
-
-
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
-
- 24 May, 2002 1 commit
-
-
Linus Torvalds authored
-
- 17 May, 2002 1 commit
-
-
Greg Kroah-Hartman authored
This removes a compiler warning due to my previous patch.
-
- 16 May, 2002 1 commit
-
-
Greg Kroah-Hartman authored
Based on a patch from Georg Acher <georg@acher.org>
-
- 13 May, 2002 3 commits
-
-
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 :)
-
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.
-
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.
-
- 11 May, 2002 1 commit
-
-
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
-
- 06 May, 2002 1 commit
-
-
Oliver Neukum authored
in usb.c during disconnect handling a reference to a driver is passed after the module usage count is decremented. In theory this is a race.
-
- 26 Apr, 2002 2 commits
-
-
Greg Kroah-Hartman authored
added check for num_minors at registration time to catch buggy drivers.
-
Greg Kroah-Hartman authored
document the return value of usb_register_dev() better.
-
- 25 Apr, 2002 2 commits
-
-
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 :)
-
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.
-
- 22 Apr, 2002 1 commit
-
-
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.
-
- 18 Apr, 2002 1 commit
-
-
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.
-
- 16 Apr, 2002 1 commit
-
-
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.
-
- 09 Apr, 2002 1 commit
-
-
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.
-
- 08 Apr, 2002 3 commits
-
-
Greg Kroah-Hartman authored
cleaned up the comments to put them in proper docbook format.
-
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.>
-
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)
-