summaryrefslogtreecommitdiff
path: root/drivers/usb/serial/ftdi_sio.c
AgeCommit message (Collapse)Author
2008-05-02USB: add more FTDI device idsPeter Mack
Add more usb device ids to the ftdi driver. From: Peter Mack <Peter.Mack@scs-ptc.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-28drivers/usb annotations and fixesAl Viro
* endianness annotations * endianness fixes * missing get_unaligned/put_unaligned It's pretty much all over the place, changes to different files are independent. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Serial-parts-Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-24USB: remove unnecessary type casting of urb->contextMing Lei
urb->context code cleanup Signed-off-by: Ming Lei <tom.leiming@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-24USB: replace remaining __FUNCTION__ occurrencesHarvey Harrison
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-24USB: serial: remove unneeded number endpoints settingsGreg Kroah-Hartman
The usb-serial core no longer checks these fields so remove them from all of the individual drivers. They will be removed from the usb-serial core in a patch later in the series. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-24USB: use DIV_ROUND_UPJulia Lawall
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @haskernel@ @@ #include <linux/kernel.h> @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-24USB: ftdi_sio: Note missing lockingAlan Cox
The ftdi_sio driver has no internal locking on the dtr/rts state. Flag that up for someone to fix. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-10USB: new ftdi_sio device idMirko Bordignon
Here is a patch that adds support for the propox jtagcable II dongle (http://www.propox.com/products/t_117.html): their PID was missing, therefore we were not able to have the device recognized though it uses a standard FTDI chip. Signed-off-by: Mirko Bordignon <mirko.bordignon@ieee.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-04USB: ftdi_sio - really enable EM1010PCSven Andersen
Add EM1010PC to ftdi_sio.c Signed-off-by: Sven Andersen <s.andersen@cryonet.de> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-04USB: ftdi_sio: Workaround for broken Matrix Orbital serial portKevin Vance
Workaround for the FT232RL-based, Matrix Orbital VK204-25-USB serial port added to the ftdi_sio driver. The device has an invalid endpoint descriptor, which must be modified before it can be used. Signed-off-by: Kevin Vance <kvance@kvance.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-21USB: ftdi_sio.c add missing '|'Roel Kluin
add missing '|' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01USB: more serial drivers writing after disconnectOliver Neukum
this covers the rest of the obvious cases by using the flags and locks to guard against disconnect which were introduced in the earlier patch against mos7720. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01USB: ftdi_sio: remove very old changelog entries from the file.Greg Kroah-Hartman
People keep trying to add entries to this section of the driver for things. That's what the Changelog is supposed to be for, not the .c file. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01USB: ftdi_sio: Support for more JTAG adaptorsHarald Welte
[PATCH] ftdi_sio: add support for more FTDI based JTAG adaptors There are more devices similar to the Olimex JTAG adaptor, in that the first port of the FT2232C is used for JTAG, and only the second port is available as UART. I have thus renamed ftdi_olimex_{probe,quirk} to ftdi_jtag_{probe,quirk} and added vendor/product ID's for the OpenMoko Neo1973 Debug Board as well as the OOCDlink device. I've also updated the KERN_INFO message sent to userspace to remove the word 'olimex' and an extra '\n' that was causing an empty line in dmesg. Signed-off-by: Harald Welte <laforge@openmoko.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01USB: ftdi driver - add support for optical probe deviceEd Beroset
Added support for the Elster Unicom III Optical Probe. The device ID has already been added to the usb.ids file. Cc: stable <stable@kernel.org> Signed-off-by: Ed Beroset <beroset@mindspring.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01USB: ftdi-sio: Patch to add vendor/device id for ATK_16IC CCDFranco Lanza
little patches only to add vendor/device id of ATK_16IC CCD cam for astronomy. From: Franco Lanza <nextime@nexlab.it> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01USB: ftdi_sio - enabling multiple ELV devices, adding EM1010PCPeter Stark
I work with a group of people on a free home automation tool called FHEM. Some of the users own more than one USB-serial device by ELV. The ftdi_sio driver has most of the ELV devices disabled by default and needs to be re-enabled every time you get a new kernel. Additionally a new device (EM 1010 PC - enegry monitor) is missing in the list. Currently our users have to follow the instructions we provide at http://www.koeniglich.de/fhem/linux.html ... However, to some users it is too complicated to compile their own kernel module. We are aware that you can specify one additional device using the vendor/product option of the module. But lot's of users own more than one device. Cc: stable <stable@kernel.org> Signed-off-by: Peter Stark <peter.stark@t-online.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-25USB: ftd_sio cleanups and updates for new termios work checkpatch fixesAndrew Morton
WARNING: line over 80 characters #23: FILE: drivers/usb/serial/ftdi_sio.c:297: + speed_t force_baud; /* if non-zero, force the baud rate to this value */ ERROR: use tabs not spaces #31: FILE: drivers/usb/serial/ftdi_sio.c:881: +^I$ ERROR: use tabs not spaces #39: FILE: drivers/usb/serial/ftdi_sio.c:890: +^I$ WARNING: line over 80 characters #111: FILE: drivers/usb/serial/ftdi_sio.c:1956: + tty_encode_baud_rate(port->tty, priv->force_baud, priv->force_baud); Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-25USB: ftd_sio: cleanups and updates for new termios workAlan Cox
- Remove can't happen tests - Rework speed validation in terms of baud rates not CBAUD bits - Report speed set (or chosen) - Minor termios correctness Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-19Convert files to UTF-8 and some cleanupsJan Engelhardt
* Convert files to UTF-8. * Also correct some people's names (one example is Eißfeldt, which was found in a source file. Given that the author used an ß at all in a source file indicates that the real name has in fact a 'ß' and not an 'ss', which is commonly used as a substitute for 'ß' when limited to 7bit.) * Correct town names (Goettingen -> Göttingen) * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313) Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Adrian Bunk <bunk@kernel.org>
2007-10-18Add missing newlines to some uses of dev_<level> messagesJoe Perches
Found these while looking at printk uses. Add missing newlines to dev_<level> uses Add missing KERN_<level> prefixes to multiline dev_<level>s Fixed a wierd->weird spelling typo Added a newline to a printk Signed-off-by: Joe Perches <joe@perches.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Mark M. Hoffman <mhoffman@lightlink.com> Cc: Roland Dreier <rolandd@cisco.com> Cc: Tilman Schmidt <tilman@imap.cc> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Jeff Garzik <jeff@garzik.org> Cc: Stephen Hemminger <shemminger@linux-foundation.org> Cc: Greg KH <greg@kroah.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Cc: James Smart <James.Smart@Emulex.Com> Cc: Andrew Vasquez <andrew.vasquez@qlogic.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-12USB: ftdi_sio: Handle FT232RL devices like FT232BM devicesAndrew M. Bishop
Handle the FT232RL device type in exactly the same way as FT232BM devices (FT232RL detection was added around kernel 2.6.20 but not code for handling it). Signed-off-by: Andrew M. Bishop <amb@gedanken.demon.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-09-11USB: ftdi_sio: add of a new product/manufacturer, TMLPierre Castella
I have added to a new product based on the FTDI 232R USB/Serial transceiver, which is commercialized by The Mobility Lab. Here is a trivial patch enclosed, against 2.6.22.6 kernel. Signed-off-by: Pierre Castella <pp.castella@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-08-22USB: Support for the Evolution Scorpion robotsSøren Hauberg
The attached (mostly trivial) patches adds support for the Evolution Scorpion Robots. Evolution Robotics supplies a patch against 2.6.8 with their software. My patch is based on their work, so I don't know if I can sign it off, or if you need some Evolution people to do this (which might be hard). The patch adds device ID's for some robots which is trivial. From: Søren Hauberg <hauberg@gmail.com> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Søren
2007-07-12USB: ftdi_sio: fix oops due to processing workarounds too earlyOliver Neukum
Fix an oops that happens in relation with applying work arounds for buggy ftdi_sio devices. The quirks were handled too early because due to changes in the initialisation of usb serial devices the device was not fully initialised when the old hook was called. Addresses bug 8564 Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: serial: ftdi_sio: clean up urb->status usageGreg Kroah-Hartman
This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: <linux-usb-devel@lists.sourceforge.net> Cc: Kuba Ober <kuba@mareimbrium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: ftdi_sio.c: Allow setting latency timer on FT232RLStepan Moskovchenko
The new FT232RL allows setting and getting the value of the latency timer, like on the FT232BM. However, the driver will not create the sysfs entries for the RL without this one-line patch. I have tested it on two systems with successful results. From: Stepan Moskovchenko <stevenm86@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-25USB: ftdio_sio: New IPlus device IDLuiz Fernando N. Capitulino
Reported by Grzegorz Chimosz <gchimi@gmail.com> Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-22USB: Add support for Olimex arm-usb-ocd JTAG interface serial portTony Lindgren
This patch adds support for the serial port on Olimex arm-usb-ocd JTAG interface. The device appears as two serial ports, but the first one is reserved for the JTAG interface. The JTAG interface can be used with OpenOCD from userspace. For more information, please see: http://openocd.berlios.de/web/ http://www.olimex.com/dev/arm-usb-ocd.html Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-22USB: ftdi_sio: Add USB Product Id for OpenDCCGuido Scholz
USB product id registration for the OpenDCC (www.opendcc.de) model railway central unit. Applies to 2.6.21.1. Signed-off-by: Guido Scholz <guido.scholz@bayernline.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-22USB: New device PID for ftdi_sio driverNeil \"Superna\" ARMSTRONG
Hello, I need to use MaxStream's PKG-U modules which includes a ftdi sio chipset for usb2serial communication, here are the patches for handling Maxstream's modules. The VID & PID to use with the open-source driver are provided on the CD-ROM bundled with the modules. From: Neil Superna ARMSTRONG <superna@na-prod.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-04-27USB: ftdi_sio: Add USB ID of ADSTech USBX-707Jelle Foks
This patch adds the USB ID of the ADS Tech USBX-707 USB IR blaster (that comes with the ADS Tech PTV-305 grabber card), which has a ftdi232bm inside hooked up to a pic. With this it should be fairly straightforward to make at least lirc receiving work with this device. I will submit a patch to lirc for that as soon as I have one ready, I'm getting data with minicom with this patch, but need to figure out some more details such as best/correct baudrate. Signed-off-by: Jelle Foks <jelle@foks.8m.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-04-27USB: fix race in ftdio_writeOliver Neukum
this has the same race as the visor driver. The counter must be incremented under the lock it is checked under. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-03-26USB: fix usb-serial/ftdi build warningDavid Brownell
Fix annoying build warning: drivers/usb/serial/ftdi_sio.c:890: warning: enumeration value `FT232RL' not handled in switch Also add logic to detect FT232R chips (version 6.00, usb 2.0 full speed), so that case isn't completely useless. (NOTE: FT232RL and FT232RQ are the same chip in different packages: L is SSOP, Q is QFN.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-03-09USB: Product ID for FT232RL in ftdi_sioGard Spreemann
Here is a patch adding the PID for the FT232RL to ftdi_sio. The patch generates a warning during compilation because get_ftdi_divisor doesn't explicitly handle the FT232RL with this patch, so I guess you don't want to use it in its current state. It is all I could come up with with the knowledge I have of the drivers at the moment, though, and I hope you can have some use for it at least. It works fine with my DLP-TILT with an FT232RL. From: Gard Spreemann <spreeman@stud.ntnu.no> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-03-09USB: ftdi_sio: use port_probe / port_remove thereby fixing access to the ↵Jim Radford
latency_timer Convert all the port specific code in attach / shutdown to use the new port_probe / port_register callbacks from device_register / device_unregister allowing adding the sysfs attributes to be added at the correct time and to the serial port device itself, instead of to the unadorned usb device, avoiding a NULL dereference. Signed-off-by: Jim Radford <radford@blackbean.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-03-09USB: add Additional PIDs in ftdi_sioThomas Schleusener
I've developed some devices with FTDI chips (FT232xx). FTDI was so kind to give some own PID's which I can use together with their VID. Some of the devices are already very popular here and I have customers from universities, institutes ..... I use the FTDI VID 0x0403. My PID's are: 0xff38 - IBS US485 (USB<-->RS422/485 interface) 0xff39 - IBS PIC-Programmer 0xff3a - IBS Card reader for PCMCIA SRAM-cards 0xff3b - IBS PK1 - Particel counter 0xff3c - IBS RS232 - Monitor 0xff3d - APP 70 (dust monitoring system) 0xff3e - IBS PEDO-Modem (RF modem 868.35 MHz) 0xff3f - future device The company is "IBS Ing.-Buero Schleusener". From: Thomas Schleusener <thomas@be-schl.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-03-09USB: add QL355P power supply ids to fdti_sioMichael Olberg
2007-02-23USB: ftdi_sio: Adding VID and PID for TellstickMicke Prag
I would like to add the VID and PID for Telldus Technologies Homeautomation usb-dongle to the ftdi_sio driver. From: Micke Prag <micke.prag@telldus.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-02-07USB: remove duplicate device id from ftdi_sioGreg Kroah-Hartman
As pointed out by Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-02-07USB serial: add driver pointer to all usb-serial driversJohannes Hölzl
Every usb serial driver should have a pointer to the corresponding usb driver. So the usb serial core can add a new id not only to the usb serial driver, but also to the usb driver. Also the usb drivers of ark3116, mos7720 and mos7840 missed the flag no_dynamic_id=1. This is added now. Signed-off-by: Johannes Hölzl <johannes.hoelzl@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ftdi_sio - MachX product ID addedJan Capek
below is a patch for the ftdi_sio driver to include a new device ID for CCS MachX PIC programmer. From: Jan Capek <jan@ccsinfo.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-08[PATCH] tty: switch to ktermiosAlan Cox
This is the grungy swap all the occurrences in the right places patch that goes with the updates. At this point we have the same functionality as before (except that sgttyb() returns speeds not zero) and are ready to begin turning new stuff on providing nobody reports lots of bugs If you are a tty driver author converting an out of tree driver the only impact should be termios->ktermios name changes for the speed/property setting functions from your upper layers. If you are implementing your own TCGETS function before then your driver was broken already and its about to get a whole lot more painful for you so please fix it 8) Also fill in c_ispeed/ospeed on init for most devices, although the current code will do this for you anyway but I'd like eventually to lose that extra paranoia [akpm@osdl.org: bluetooth fix] [mp3@de.ibm.com: sclp fix] [mp3@de.ibm.com: warning fix for tty3270] [hugh@veritas.com: fix tty_ioctl powerpc build] [jdike@addtoit.com: uml: fix ->set_termios declaration] Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Martin Peschke <mp3@de.ibm.com> Acked-by: Peter Oberparleiter <oberpar@de.ibm.com> Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-05Merge branch 'master' of ↵David Howells
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/infiniband/core/iwcm.c drivers/net/chelsio/cxgb2.c drivers/net/wireless/bcm43xx/bcm43xx_main.c drivers/net/wireless/prism54/islpci_eth.c drivers/usb/core/hub.h drivers/usb/input/hid-core.c net/core/netpoll.c Fix up merge failures with Linus's head and fix new compilation failures. Signed-Off-By: David Howells <dhowells@redhat.com>
2006-12-01usb: ftdi_sio kill urb cleanupMariusz Kozlowski
- usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-11-22WorkStruct: make allyesconfigDavid Howells
Fix up for make allyesconfig. Signed-Off-By: David Howells <dhowells@redhat.com>
2006-11-16USB: ftdi driver pid for dmx-interfacesFrank Sievertsen
Please add a usb pid to the ftdi_sio driver. The pid is used by dmx4all dmx-interfaces (for stage lighting). The interfaces are using the usb-id 0403:c850. I added the id to the driver and it works perfectly. I added a patch for linux 2.6.18.1, too. From: Frank Sievertsen <frank@sievertsen.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-11-16USB: ftdi_sio: adds vendor/product id for a RFID construction kitKjell Myksvoll
Adds the vendor and prodcut id for a RFID construction kit from the Elektor Electronics magazine, september 2006. From: Kjell Myksvoll <kmyksvo@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-10-17USB: ftdi_sio whitespace fixesDavid Brownell
Whitespace fixups for drivers/usb/serial/ftdi_sio.c ... removing end-of-line whitespace, and space-before-tab. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid 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: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)