- 03 Nov, 2004 16 commits
-
-
David Brownell authored
On OMAP-1510 the 48MHz DPLL used by USB is now set up earlier in the boot process. On Innovator, both host ports work by default. (Although USB2 conflicts with ttyS2, which you might prefer.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This patch updates the serial gadget driver: - The bulk is Al Borcher's version 2.0 updates: * Use the new utilities to build config descriptors from tables. * Add CDC ACM support, which brings lots of goodness including interop with Windows. * Work better given PXA 25x hardware automagic. - I have a few minor tweaks. * Match the recent tty API change: from_user is gone!! * Define new product ID for the CDC ACM version, so Windows registry won't get confused by the non-ACM version. * Add OTG descriptor * Allocates packet buffers more efficiently on platforms like OMAP: use kmalloc not the dma-coherent allocator. Al has some docs on how to talk to Windows this, including an INF file. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This has minor patches to the ethernet, file_storage, and zero gadget drivers. - Use longer "manufacturer" strings; CONFIG_LOCALVERSION would overflow. - Remove compile warning on file_storage with non-net2280 - Oops fix in ethernet gadget, on boards that don't report VBUS Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This is the second of the patches from Dale Farnsworth to support OHCI implementations that use big-endian byte sex for registers ... all register accesses changed, that's why it's so large. (It also includes part of an update from his third patch, so that it compiles/runs by itself.) This patch adds support to the OHCI code for big-endian controllers, maintaining the existing little-endian support. This is done using the following transforms: ohci_readl(p) --> ohci_readl(ohci, p) writel(v, p) --> ohci_writel(ohci, v, p) cpu_to_le16(v) --> cpu_to_hc16(ohci, v) cpu_to_le16p(v) --> cpu_to_hc16p(ohci, v) cpu_to_le32(v) --> cpu_to_hc32(ohci, v) cpu_to_le32p(v) --> cpu_to_hc32p(ohci, v) le16_to_cpu(v) --> hc16_to_cpu(ohci, v) le16_to_cpup(v) --> hc16_to_cpup(ohci, v) le32_to_cpu(v) --> hc32_to_cpu(ohci, v) le32_to_cpup(v) --> hc32_to_cpup(ohci, v) OHCI_FRAME_NO(ohci->hcca) --> ohci_frame_no(ohci) There's no runtime penalty except for systems configured to handle both byteorders at the same time. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This is the first of several patches from Dale Farnsworth, laying groundwork for a patch that supports OHCI on more chips (IBM STB04xxx and FreeScale MPC52xx). Replace pre-byteswapped constants for in-memory data structures in ohci.h with cpu-native constants, to help support "big-endian OHCI" hardware. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
On Fri, 29 Oct 2004, David Brownell wrote: > Could you add a comment there that the HCD is > now _required_ to return a pointer that usbcore > can pass to kfree? Since that's a layering > violation (in anticipation of later changes to > make it not be one!), it's surprising ... and > in any case, the memory lifecycle is no longer > described just by the calls in this header! That's a reasonable request, and here's an extra patch to add the comment. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch removes the hcd release code from the final host controller driver, dummy-hcd. Please apply. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch changes the non-PCI-based OHCI-related host controller drivers, removing the code that frees the driver-specific hcd structures. Unfortunately I am not able to test it, because I don't have the necessary hardware. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch removes the code for deallocating the usb_hcd structure from the three PCI-based host controller drivers. It also moves the embedded struct usb_hcd member to the front of the larger driver-specific structures, as required for the core to do its work. Please apply. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch contains changes to usbcore making the core responsible for deallocating memory for usb_hcd structures, rather than calling back into the host controller drivers. This solves a long-standing oops, since the drivers may have been unloaded from memory by the time the release routine is called. (There probably are some Bugzilla entries caused by this, but I don't know which ones.) To really fix this up properly will require merging the HCD "glue" layer into the higher core structures. As things stand now, a usb_hcd contains a usb_bus member, and the usb_bus is associated with a class_device: when the class_device is released the usb_hcd gets deallocated. It's awkward in that neither the usb_hcd nor the usb_bus has its own reference count, and the class_device is created when the bus is registered (not when it is initialized). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Neither requests to suspended devices nor control request stalls should ever log fault messages, they happen routinely; this stops such logging. There's also a better message for control/bulk timeout -- but after the HCD finishes unlinking the URB, not from 'swapper' in the timer callback! Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Delete the second pci_set_master(), not the first one. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Lonnie Mendez authored
This patch adds equal support for interrupt out transfers to the usb serial core to match the current interrupt in support. It also improves a few debug messages, nothing major. Signed-off-by: Lonnie Mendez <lmendez19@austin.rr.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch reorganizes the startup and shutdown code in the dummy-hcd driver to make it consistent with all the other host controller drivers. For example, the platform device representing the HC hardware is allocated separately and given as an argument to the probe() and remove() routines, as it would be for a real device. This paves the way to making widespread and uniform changes in all the HCDs at once. Please apply. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
Although this is the first patch in a series of six, it's not closely related to the others. This includes a whole bunch of simple cleanups for the dummy-hcd driver, all of which fall into the following categories: Convert explicit container_of() to type-safe inline functions, Minimize reliance on global variables. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Greg Kroah-Hartman authored
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 01 Nov, 2004 24 commits
-
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/usb-2.6
-
Alan Stern authored
This patch changes the device initialization code for the UHCI driver to use a more meaningful timeout than simply waiting for 1000 loop iterations. It also causes the code to fail when a timeout occurs rather than proceed blindly. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Adrian Bunk authored
The patch below removes an unused function from drivers/usb/host/ohci-dbg.c Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Adrian Bunk authored
The patch below removes an unused function from drivers/usb/media/stv680.c Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Arnaldo Carvalho de Melo authored
[PL2303] add id for Siemens x65 series of mobiles Tested with CX65 and S65 models Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Thomas Gleixner authored
To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. That's the second batch of the unifying patches. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
With 2.6.10 getting warning about ohci_restart() defined and not used if !CONFIG_PM. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch fixes a tiny SMP-type hole in root-hub synchronization. Although the HCD glue layer properly unlinks root-hub status URBs synchronously, it doesn't do so for URBs sent to endpoint 0. This patch copies some code from usb_kill_urb, to make such unlinks wait until the host controller driver has finished handling the URB. This behavior is required for hcd_endpoint_disable to work correctly. The patch also renames usb_rh_status_dequeue to usb_rh_urb_dequeue (to better describe its updated function) and declares the routine static. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch, suggested by Karsten Wiese, converts a few remainder ('%') operations in the UHCI driver to bitwise-and ('&'). It's not a huge change, but this is a common idiom in C and it will save a few bytes with some compilers. Also one of the changes is in an inner loop, so it might help a little bit. From: Karsten Wiese <annabellesgarden@yahoo.de> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Minor updates for better diagnostics from usbcore: - Only print ep0 maxpacket when it's not what we first tried - have khubd say when it's looking at a hub - When warning about synchronous control or bulk timeouts, report the program that triggered the message. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This marks the controller as running at the end of a "resume" path used when the controller lost power, or was otherwise reset (not a real resume). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This patch much improves suspend/resume behavior of EHCI, as tested with "echo suspend > /sys/power/state" and "echo disk > /sys/power/state". - Quiescing the controller has to handle a case where the software has finished shutting down periodic and async schedules, but the hardware hasn't yet finished its part. - When suspending the root hub, be more by-the-book so that resumes behave better. - When resuming after suspend-to-disk, or in general when no port is suspended, the driver re-uses the initialization logic. That logic needed to understand that resources don't need re-allocation, and that a few things need to be reset to the default state. - More code paths needed to notice a suspended controller, and stop right away. - To shut down the controller, start with the root hub ports and work up from there. Tested by writing "suspend" or "disk" to /sys/power/state; several systems resumed OK, at least given the associated usbcore patches. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Recent PCI changes are killing USB Power Management, and maybe more. The root cause is a change to the PCI suspend code from back in May, saving a copy of pci config space after the PCI driver did. That was OK until a recent change made it overwrite the copy that the PCI device driver would later restore ... net result for USB is that DMA would always be disabled after resume. This patch restores the long-documented behavior of PCI driver suspend/resume calls (drivers are responsible for saving and restoring config space state), and also removes a superfluous line from the USB suspend logic. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This patch makes usbcore behave better with system sleep states, fixing some PM/PCI integration problems as well as some PM/USB ones. - PCI HCDs should behave better, even if they don't support PCI PM; tested with both ACPI and APM suspend cycles, and swsusp. - Systems that advertise ACPI S1 support don't necessarily support the PCI D1 or D2 states for their USB controllers. (Examples include Centrino laptops.) This patch makes them suspend into D3hot, which always works (and won't take much longer to resume, either). - Handle the "go into deeper suspend" transition the way PCI drivers are supposed to. - Understand that USB only has one suspend state: if the device is suspended, it can't do any better. - Export some symbols to HCDs, so they can reuse more of the existing usbcore framework. Plus minor related cleanups. The PCI D1/D2 state issue is a variant of an earlier problem, with the same root cause: the PM core thinking there's a one-to-one mapping between system states (roughly: ACPI S0/S1/S3/S4) and PCI states that a given device can support (only D0 is required, D3hot is common). That same issue comes up again with USB. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Arjan van de Ven authored
Hi, Patch below removes somem dead, never used code from the usbvideo driver, including a function that uses interruptible_sleep_on_timeout() oddly. Signed-off-by: Arjan van de Ven <arjan@fenrus.demon.nl> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch adds a workaround for host controllers that don't properly support remote wakeup. That includes Intel controllers (on certain badly designed motherboards) and a recent Genesys Logic controller. Although the UHCI driver avoids suspending the Intel-based controllers, this workaround will handle things about as well. In the not-too-distant future I will have to revamp most of the root-hub suspend/resume code in the UHCI driver. For now, please apply the patch. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Lonnie Mendez authored
This patch adds the Delorme Earthmate usb gps and the Cypress hid->com rs232 adapter to hid-core's device blacklist. Signed-off-by: Lonnie Mendez <lmendez19@austin.rr.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Nishanth Aravamudan authored
Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Christoph Lameter authored
- fix broken IBM cyclone time interpolator support - add support for cyclic timers through an addition of a mask in the timer interpolator structure - Allow time_interpolator_update() and time_interpolator_get_offset() to be invoked without an active time interpolator (necessary since the cyclone clock is initialized late in ACPI processing) - remove obsolete function time_interpolator_resolution() - add a mask to all struct time_interpolator setups in the kernel - Make time interpolators work on 32bit platforms Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kay Sievers authored
Move hotplug_path[] out of kmod.[ch] to kobject_uevent.[ch] where it belongs now. At some time in the future we should fix the remaining bad hotplug calls (no SEQNUM, no netlink uevent): ./drivers/input/input.c (no DEVPATH on some hotplug events!) ./drivers/pnp/pnpbios/core.c ./drivers/s390/crypto/z90main.c Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Dmitry Torokhov authored
Driver core: when binding device to a driver create "driver" symlink in device's directory. Rename serio's "driver" attribute to "drvctl" (write-only) Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Kay Sievers authored
On Sat, Oct 30, 2004 at 04:54:29AM +0200, Kay Sievers wrote: > On Sat, Oct 30, 2004 at 02:25:23AM +0200, Kay Sievers wrote: > > On Sat, Oct 30, 2004 at 02:00:45AM +0200, Kay Sievers wrote: > > > On Fri, Oct 29, 2004 at 06:13:19PM -0500, Greg KH wrote: > > > > On Fri, Oct 29, 2004 at 11:28:56PM +0200, Kay Sievers wrote: > > > > > > But there might still be a problem. With this change, the sequence > > > > > > number is not sent out the kevent message. Kay, do you think this is an > > > > > > issue? I don't think we can get netlink messages out of order, right? > > > > > > > > > > Right, especially not the events with the same DEVPATH, like "remove" > > > > > beating an "add". But I'm not sure if the number isn't useful. Whatever > > > > > we may do with the hotplug over netlink in the future, we will only have > > > > > /sbin/hotplug for the early boot and it may be nice to know, what events > > > > > we have already handled... > > > > > > > > > > > I'll hold off on applying this patch until we figure this out... > > > > > > > > > > How about just reserving 20 bytes for the number (u64 will never be > > > > > more than that), save the pointer to that field, and fill the number in > > > > > later? > > > > > > > > Ah, something like this instead? I like it, it's even smaller than the > > > > previous patch. Compile tested only... > > > > > > I like that. How about the following. It will keep the buffer clean from > > > random chars, cause the kevent does not have the vector and relies on > > > the '\0' to separate the strings from each other. > > > I've tested it. The netlink-hotplug message looks like this: > > > > > > recv(3, "remove@/class/input/mouse2\0ACTION=remove\0DEVPATH=/class/input/mouse2\0SUBSYSTEM=input\0SEQNUM=961 \0", 1024, 0) = 113 > > > > Hmm, these trailing spaces are just bad, sorry. I'll better pass the > > envp array over to send_uevent() and clean up the keys while copying > > the env values into the skb buffer. This will make the event payload > > more safe too. So your first version looks better. > > How about this? We copy over key by key into the skb buffer and the > netlink message can get the envp array without depending on a single > continuous buffer. > > The netlink message looks nice like this now: > > recv(3, " > add@/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0\0 > HOME=/\0 > PATH=/sbin:/bin:/usr/sbin:/usr/bin\0 > ACTION=add\0 > DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0\0 > SUBSYSTEM=usb\0 > SEQNUM=991\0 > DEVICE=/proc/bus/usb/003/008\0 > PRODUCT=46d/c03e/2000\0 > TYPE=0/0/0\0 > INTERFACE=3/1/2\0 > ", 1024, 0) = 268 Here is an improved version that uses skb_put() to fill the skb buffer, instead of trimming the buffer to the final size after we've copied over all keys. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Dmitry Torokhov authored
Driver core: rename bus_match into driver_probe_device and export it so subsystems can bind an individual device to a specific driver without getting involved with driver core internals. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Dmitry Torokhov authored
Driver core: make device_attach() global and export it and driver_attach() so subsystems can have finer control over binding process. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-