- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 02 10月, 2006 1 次提交
-
-
由 Jeff Dike 提交于
As part of an SMP cleanliness pass over UML, I consted a bunch of structures in order to not have to document their locking. One of these structures was a struct tty_operations. In order to const it in UML without introducing compiler complaints, the declaration of tty_set_operations needs to be changed, and then all of its callers need to be fixed. This patch declares all struct tty_operations in the tree as const. In all cases, they are static and used only as input to tty_set_operations. As an extra check, I ran an i386 allyesconfig build which produced no extra warnings. 53 drivers are affected. I checked the history of a bunch of them, and in most cases, there have been only a handful of maintenance changes in the last six months. serial_core.c was the busiest one that I looked at. Signed-off-by: NJeff Dike <jdike@addtoit.com> Acked-by: NAlan Cox <alan@redhat.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 29 9月, 2006 5 次提交
-
-
由 Peter Zijlstra 提交于
========================================================= [ INFO: possible irq lock inversion dependency detected ]
-
由 Justin Carlson 提交于
We have a couple of these USB-Serial converters around; they're slightly different from the 2104 models in that they can handle 500Kb/sec over RS422. The existing ftdi driver seems to work just fine if we add in the appropriate IDs. Patch is against 2.6.17.6, but should apply cleanly to pretty much anything recent. From: Justin Carlson <justinca@qatar.cmu.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Matthias Urlichs 提交于
Add yet another device ID to the ipaq USB-serial driver. Signed-Off-By: NMatthias Urlichs <matthias@urlichs.de> Cc: Ganesh Varadarajan <ganesh@veritas.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Ian Abbott 提交于
This patch adds support for three OpenPort ECU data cables from Tactrix Inc. to the ftdi_sio driver's device ID table. One of the PIDs was supplied by Donour Sizemore on the ftdi-usb-sio-devel mailing list. The other two were added by myself after examining the Windows driver software. Signed-off-by: NIan Abbott <abbotti@mev.co.uk> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Wesley PA4WDH 提交于
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 28 9月, 2006 20 次提交
-
-
由 Andy Gay 提交于
Adapted from an earlier patch by Greg KH <gregkh@suse.de>. That patch added multiple read urbs and larger transfer buffers to allow data transfers at full EvDO speed. This version includes additional device IDs and fixes a memory leak in the transfer buffer allocation. Some (maybe all?) of the supported devices present multiple bulk endpoints, the additional EPs can be used for control and status functions, This version allocates 3 EPs by default, that can be changed using the 'endpoints' module parameter. Tested with Sierra Wireless EM5625 and MC5720 embedded modules. Device ID (0x0c88, 0x17da) for the Kyocera Wireless KPC650/Passport was added but is not yet tested. From: Andy Gay <andy@andynet.net> Cc: Kevin Lloyd <linux@sierrawireless.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Johannes Steingraeber 提交于
Patch to add support for Alcor Micro Corp. USB 2.0 TO RS-232 converter. This patch adds VID and PID to pl2303.[ch], adds it to the "HORRIBLE HACK FOR PL2303" in usb-serial.c and also prevents cdc-acm to claim driving this device by blacklisting it in hid-core. Signed-off-by: NJohannes Steingraeber <Jo_Stein@web.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Paul B Schroeder 提交于
Signed-off-by: NPaul B Schroeder <pschroeder@uplogix.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Randy Dunlap 提交于
Fix printk format warnings: drivers/usb/serial/aircable.c:221: warning: format ‘%Zd’ expects type ‘signed size_t’, but argument 4 has type ‘int’ drivers/usb/serial/aircable.c:283: warning: format ‘%Zd’ expects type ‘signed size_t’, but argument 4 has type ‘int’ Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Manuel Francisco Naranjo 提交于
Add driver for AIRcable USB Bluetooth dongle. Signed-off-by: NNaranjo, Manuel Francisco <naranjo.manuel@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Mike Isely 提交于
When receiving a fatal error from the USB core, e.g. EILSEQ (which can happen if the polling interval is too short), fail gracefully. Previously the driver would fill the log with useless error messages or (more alarmingly) silently spin forever trying to write updated control information to the device. This change implements a new flag which if cleared indicates that the driver has failed. The flag will be set on initialization, cleared on fatal errors, and anything else that touches the USB port in the driver will abort if the flag is clear. When the flag is cleared, a message will be logged indicating that the driver has failed. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Mike Isely 提交于
Fix usb core function error return checks to look for negative errno values, not positive errno values. This bug had rendered those checks useless. Also remove attempted error recovery on control endpoints for EPIPE - with control endpoints EPIPE does not indicate a halted endpoint so trying to recover with usb_clear_halt() is not the correct action. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Mike Isely 提交于
Rather than directly filling in URB fields, it's safer to use usb_fill_int_urb(). This improves robustness of the driver; URB changes in the future will not go uninitialized here. That point not withstanding, this driver should at least be self-consistent. Either use usb_fill_int_urb() everywhere or don't bother with it all. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Mike Isely 提交于
The polling interval for the device can't always be 1msec. If it is too quick, the device can fail causing a fatal (to the driver) EILSEQ error from the USB core. The actual correct value is reported by the device as part of its configuration data, so use that value as the default. On a DeLorme Earthmate for example, the device reports that it wants a 6msec interval. As part of this fix, the "interval" module option has been fixed as well; the device's default can be overridden by specifying interval=<value> as a module option. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Greg Kroah-Hartman 提交于
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
Signed-off-by: NLuiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Hermann Kneissel 提交于
The attached patch adds support for the new generation of gps receivers (eg. GPSmap 60Cx) to garmin_gps.c. Signed-off-by: NHermann Kneissel <herkne@users.sourceforge.net> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
Commit b512504er085c4b1832f623d3 made ipaq_open() a bit messy by moving the read urb submission far from its usb_fill_bulk_urb() call and the comment explaining what it does. This patch put they together again. Although only compiled tested, should not break the fix introduced by b512504er085c4b1832f623d3, of course. Signed-off-by: NLuiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Thiago Galesi 提交于
Cosmetic changes to quirk in pl2303_update_line_status Signed-off-by: NThiago Galesi <thiagogalesi@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Thiago Galesi 提交于
Reduce number of needed prototypes in Prolific pl2303 driver Signed-off-by: NThiago Galesi <thiagogalesi@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Thiago Galesi 提交于
Changes the functions pl2303_buf_clear and pl2303_buf_data_avail for the purpose of keeping them under the 80 column limit, making them more similar to similar functions and making then simpler. Signed-off-by: NThiago Galesi <thiagogalesi@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Thiago Galesi 提交于
Fixes several lines that overrun 80 columns in Prolific pl2303 driver and cleans up some space usages in the function calls. Signed-off-by: NThiago Galesi <thiagogalesi@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
Signed-off-by: NLuiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Werner Lemberg 提交于
Formatting only. Signed-off-by: NWerner Lemberg <wl@gnu.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Werner Lemberg 提交于
Add (dummy?) support for TIOCGSERIAL and TIOCSSERIAL ioctl calls to the USB serial driver file `ark3116.c'. This is sufficient for me to run wvdial successfully, receive my email, and do webbrowsing with firefox. On the other hand, running the cvs program to update archives seems not to work, and the traceroute command sometimes says send failed: No buffer space available Looks like a buffering problem... My knowledge of serial device drivers is zero, so I can't fix this -- I just did a cut'n'paste from other USB serial drivers... Signed-off-by: NWerner Lemberg <wl@gnu.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 12 9月, 2006 1 次提交
-
-
由 Matthias Urlichs 提交于
A sufficiently-large number of USB serial devices causes a reference leak when /proc/tty/drivers/usbserial is read. Signed-Off-By: NMatthias Urlichs <smurf@smurf.noris.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 08 9月, 2006 1 次提交
-
-
由 Ralf Schlatterbeck 提交于
The patch adds a new device ID for the Gamma Scout Geiger counter device. Signed-off-by: NRalf Schlatterbeck <rsc@runtux.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 27 8月, 2006 1 次提交
-
-
由 Tomasz Kazmierczak 提交于
This patch removes support for a clone of Nokia DKU-5 cable made by Ours Technology Inc, as it turned out that the cable does not use the pl2303 chip, but OTI-6858 chip which is not compatible with the pl2303. Signed-off-by: NTomasz Kazmierczak <tomek.fizyk@op.pl> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 12 8月, 2006 2 次提交
-
-
由 Jonathan Davies 提交于
Signed-off-by: NJonathan Davies <jjd27@cam.ac.uk> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Norihiko Tomiyama 提交于
I write a patch for ipaq.c. Would you like to add upstream tree ? This patch enables a support of "SHARP W-ZERO3(WS004SH)" and "SHARP W-ZERO3[es](WS007SH)". From: Norihiko Tomiyama <norihiko.tomiyama@ctc-g.co.jp> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 03 8月, 2006 8 次提交
-
-
由 Kim Oldfield 提交于
Can you add the USB IDs for the Belkin USB Serial adapter (P/N F5U257) to the pl2303 driver in the Linux Kernel? Are you the appropriate person to approach for this? I recently purchased a Belkin USB Serial adapter (P/N F5U257) and found that it didn't work. After a bit of experimentation I found that it works with the pl2303 driver once the ID has been added. See attached patch to fix this. Also attached is the output from lsusb -v just in case you require any information from there. From: Kim Oldfield <luv@oldfield.wattle.id.au> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Dave Platt 提交于
Here's a short patch which adds one PID to the set of devices supported by the ftdi_sio driver. The device in question is a DLP module used as part of a ham radio USB-to-packet adapter. From: Dave Platt <dplatt@radagast.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Norihiko Tomiyama 提交于
This small patch enables a support of "SHARP WS003SH". "SHARP WS003SH" (usullary called "W-ZERO3") is most polular All-in-one handheld CellPhone-plus-WindowsMobile5.0 in Japan. "SHARP WS003SH" has two modes, "Modem" and "ActiveSync". But, "ActiveSync" mode uses NDIS connection. Therefore, ipaq.c can only support "Modem" mode. http://www.sharp.co.jp/ws/ (Japanese Site) http://greggman.com/edit/editheadlines/2005-12-24.htm From: Norihiko Tomiyama <norihiko.tomiyama@ctc-g.co.jp> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Matthias Urlichs 提交于
Dead code. From: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Matthias Urlichs 提交于
This device is now supported by sierra.c. From: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Matthias Urlichs 提交于
Signed-off-by: NJon K Hellan <hellan@acm.org> Signed-Off-By: NMatthias Urlichs <smurf@smurf.noris.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Matthias Urlichs 提交于
The short driver names were not unique, which prevented the driver from actually loading. Also, one of the ioctl pointers was missing. Signed-Off-By: NMatthias Urlichs <smurf@smurf.noris.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Matthias Urlichs 提交于
Signed-off-by: NMatthias Urlichs <smurf@smurf.noris.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-