aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-10-05 09:55:46 -0400
committerDavid Howells <dhowells@warthog.cambridge.redhat.com>2006-10-05 10:10:12 -0400
commit7d12e780e003f93433d49ce78cfedf4b4c52adc5 (patch)
tree6748550400445c11a306b132009f3001e3525df8 /drivers/usb
parentda482792a6d1a3fbaaa25fae867b343fb4db3246 (diff)
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
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)
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/atm/cxacru.c2
-rw-r--r--drivers/usb/atm/speedtch.c2
-rw-r--r--drivers/usb/atm/ueagle-atm.c2
-rw-r--r--drivers/usb/atm/usbatm.c2
-rw-r--r--drivers/usb/class/cdc-acm.c6
-rw-r--r--drivers/usb/class/usblp.c4
-rw-r--r--drivers/usb/core/devio.c2
-rw-r--r--drivers/usb/core/hcd.c15
-rw-r--r--drivers/usb/core/hcd.h9
-rw-r--r--drivers/usb/core/hub.c2
-rw-r--r--drivers/usb/core/message.c4
-rw-r--r--drivers/usb/gadget/at91_udc.c4
-rw-r--r--drivers/usb/gadget/goku_udc.c2
-rw-r--r--drivers/usb/gadget/lh7a40x_udc.c2
-rw-r--r--drivers/usb/gadget/net2280.c2
-rw-r--r--drivers/usb/gadget/omap_udc.c9
-rw-r--r--drivers/usb/gadget/pxa2xx_udc.c11
-rw-r--r--drivers/usb/host/ehci-hcd.c26
-rw-r--r--drivers/usb/host/ehci-hub.c4
-rw-r--r--drivers/usb/host/ehci-pci.c4
-rw-r--r--drivers/usb/host/ehci-q.c21
-rw-r--r--drivers/usb/host/ehci-sched.c21
-rw-r--r--drivers/usb/host/hc_crisv10.c12
-rw-r--r--drivers/usb/host/isp116x-hcd.c16
-rw-r--r--drivers/usb/host/ohci-hcd.c14
-rw-r--r--drivers/usb/host/ohci-hub.c8
-rw-r--r--drivers/usb/host/ohci-q.c16
-rw-r--r--drivers/usb/host/sl811-hcd.c21
-rw-r--r--drivers/usb/host/u132-hcd.c8
-rw-r--r--drivers/usb/host/uhci-hcd.c8
-rw-r--r--drivers/usb/host/uhci-hub.c2
-rw-r--r--drivers/usb/host/uhci-q.c15
-rw-r--r--drivers/usb/image/mdc800.c6
-rw-r--r--drivers/usb/image/microtek.c10
-rw-r--r--drivers/usb/input/acecad.c2
-rw-r--r--drivers/usb/input/aiptek.c13
-rw-r--r--drivers/usb/input/appletouch.c2
-rw-r--r--drivers/usb/input/ati_remote.c17
-rw-r--r--drivers/usb/input/ati_remote2.c14
-rw-r--r--drivers/usb/input/hid-core.c28
-rw-r--r--drivers/usb/input/hid-input.c4
-rw-r--r--drivers/usb/input/hid.h4
-rw-r--r--drivers/usb/input/hiddev.c2
-rw-r--r--drivers/usb/input/itmtouch.c4
-rw-r--r--drivers/usb/input/kbtab.c2
-rw-r--r--drivers/usb/input/keyspan_remote.c7
-rw-r--r--drivers/usb/input/mtouchusb.c3
-rw-r--r--drivers/usb/input/powermate.c7
-rw-r--r--drivers/usb/input/touchkitusb.c15
-rw-r--r--drivers/usb/input/usbkbd.c6
-rw-r--r--drivers/usb/input/usbmouse.c4
-rw-r--r--drivers/usb/input/usbtouchscreen.c15
-rw-r--r--drivers/usb/input/wacom.h4
-rw-r--r--drivers/usb/input/wacom_sys.c9
-rw-r--r--drivers/usb/input/wacom_wac.c9
-rw-r--r--drivers/usb/input/xpad.c8
-rw-r--r--drivers/usb/input/yealink.c9
-rw-r--r--drivers/usb/misc/adutux.c4
-rw-r--r--drivers/usb/misc/appledisplay.c2
-rw-r--r--drivers/usb/misc/auerswald.c30
-rw-r--r--drivers/usb/misc/ftdi-elan.c2
-rw-r--r--drivers/usb/misc/ldusb.c4
-rw-r--r--drivers/usb/misc/legousbtower.c8
-rw-r--r--drivers/usb/misc/phidgetkit.c2
-rw-r--r--drivers/usb/misc/phidgetmotorcontrol.c2
-rw-r--r--drivers/usb/misc/sisusbvga/sisusb.c4
-rw-r--r--drivers/usb/misc/usblcd.c2
-rw-r--r--drivers/usb/misc/usbtest.c8
-rw-r--r--drivers/usb/misc/uss720.c4
-rw-r--r--drivers/usb/net/asix.c2
-rw-r--r--drivers/usb/net/catc.c8
-rw-r--r--drivers/usb/net/gl620a.c2
-rw-r--r--drivers/usb/net/kaweth.c10
-rw-r--r--drivers/usb/net/net1080.c2
-rw-r--r--drivers/usb/net/pegasus.c14
-rw-r--r--drivers/usb/net/rtl8150.c12
-rw-r--r--drivers/usb/net/usbnet.c10
-rw-r--r--drivers/usb/serial/aircable.c4
-rw-r--r--drivers/usb/serial/airprime.c4
-rw-r--r--drivers/usb/serial/belkin_sa.c4
-rw-r--r--drivers/usb/serial/cyberjack.c12
-rw-r--r--drivers/usb/serial/cypress_m8.c8
-rw-r--r--drivers/usb/serial/digi_acceleport.c8
-rw-r--r--drivers/usb/serial/empeg.c8
-rw-r--r--drivers/usb/serial/ftdi_sio.c8
-rw-r--r--drivers/usb/serial/garmin_gps.c6
-rw-r--r--drivers/usb/serial/generic.c4
-rw-r--r--drivers/usb/serial/io_edgeport.c16
-rw-r--r--drivers/usb/serial/io_ti.c6
-rw-r--r--drivers/usb/serial/ipaq.c8
-rw-r--r--drivers/usb/serial/ipw.c4
-rw-r--r--drivers/usb/serial/ir-usb.c8
-rw-r--r--drivers/usb/serial/keyspan.c52
-rw-r--r--drivers/usb/serial/keyspan_pda.c4
-rw-r--r--drivers/usb/serial/kl5kusb105.c8
-rw-r--r--drivers/usb/serial/kobil_sct.c8
-rw-r--r--drivers/usb/serial/mct_u232.c4
-rw-r--r--drivers/usb/serial/mos7840.c9
-rw-r--r--drivers/usb/serial/navman.c2
-rw-r--r--drivers/usb/serial/omninet.c8
-rw-r--r--drivers/usb/serial/option.c10
-rw-r--r--drivers/usb/serial/pl2303.c6
-rw-r--r--drivers/usb/serial/safe_serial.c2
-rw-r--r--drivers/usb/serial/ti_usb_3410_5052.c12
-rw-r--r--drivers/usb/serial/visor.c12
-rw-r--r--drivers/usb/serial/whiteheat.c16
-rw-r--r--drivers/usb/storage/onetouch.c3
-rw-r--r--drivers/usb/storage/transport.c2
-rw-r--r--drivers/usb/usb-skeleton.c2
109 files changed, 406 insertions, 474 deletions
diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c
index 04631dcbabbc..3892a9e9aee3 100644
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
@@ -171,7 +171,7 @@ struct cxacru_data {
171}; 171};
172 172
173/* the following three functions are stolen from drivers/usb/core/message.c */ 173/* the following three functions are stolen from drivers/usb/core/message.c */
174static void cxacru_blocking_completion(struct urb *urb, struct pt_regs *regs) 174static void cxacru_blocking_completion(struct urb *urb)
175{ 175{
176 complete((struct completion *)urb->context); 176 complete((struct completion *)urb->context);
177} 177}
diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c
index 956b7a1e8af9..7c7b507af29d 100644
--- a/drivers/usb/atm/speedtch.c
+++ b/drivers/usb/atm/speedtch.c
@@ -547,7 +547,7 @@ static void speedtch_resubmit_int(unsigned long data)
547 } 547 }
548} 548}
549 549
550static void speedtch_handle_int(struct urb *int_urb, struct pt_regs *regs) 550static void speedtch_handle_int(struct urb *int_urb)
551{ 551{
552 struct speedtch_instance_data *instance = int_urb->context; 552 struct speedtch_instance_data *instance = int_urb->context;
553 struct usbatm_data *usbatm = instance->usbatm; 553 struct usbatm_data *usbatm = instance->usbatm;
diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
index 465961a26e4a..f5434b1cbb1e 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
@@ -1297,7 +1297,7 @@ bad1:
1297/* 1297/*
1298 * interrupt handler 1298 * interrupt handler
1299 */ 1299 */
1300static void uea_intr(struct urb *urb, struct pt_regs *regs) 1300static void uea_intr(struct urb *urb)
1301{ 1301{
1302 struct uea_softc *sc = urb->context; 1302 struct uea_softc *sc = urb->context;
1303 struct intr_pkt *intr = urb->transfer_buffer; 1303 struct intr_pkt *intr = urb->transfer_buffer;
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c
index a38701c742c3..309073f6433a 100644
--- a/drivers/usb/atm/usbatm.c
+++ b/drivers/usb/atm/usbatm.c
@@ -254,7 +254,7 @@ static int usbatm_submit_urb(struct urb *urb)
254 return ret; 254 return ret;
255} 255}
256 256
257static void usbatm_complete(struct urb *urb, struct pt_regs *regs) 257static void usbatm_complete(struct urb *urb)
258{ 258{
259 struct usbatm_channel *channel = urb->context; 259 struct usbatm_channel *channel = urb->context;
260 unsigned long flags; 260 unsigned long flags;
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 71288295df2f..ec4d1d756725 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -218,7 +218,7 @@ static int acm_write_start(struct acm *acm)
218 */ 218 */
219 219
220/* control interface reports status changes with "interrupt" transfers */ 220/* control interface reports status changes with "interrupt" transfers */
221static void acm_ctrl_irq(struct urb *urb, struct pt_regs *regs) 221static void acm_ctrl_irq(struct urb *urb)
222{ 222{
223 struct acm *acm = urb->context; 223 struct acm *acm = urb->context;
224 struct usb_cdc_notification *dr = urb->transfer_buffer; 224 struct usb_cdc_notification *dr = urb->transfer_buffer;
@@ -285,7 +285,7 @@ exit:
285} 285}
286 286
287/* data interface returns incoming bytes, or we got unthrottled */ 287/* data interface returns incoming bytes, or we got unthrottled */
288static void acm_read_bulk(struct urb *urb, struct pt_regs *regs) 288static void acm_read_bulk(struct urb *urb)
289{ 289{
290 struct acm_rb *buf; 290 struct acm_rb *buf;
291 struct acm_ru *rcv = urb->context; 291 struct acm_ru *rcv = urb->context;
@@ -409,7 +409,7 @@ urbs:
409} 409}
410 410
411/* data interface wrote those outgoing bytes */ 411/* data interface wrote those outgoing bytes */
412static void acm_write_bulk(struct urb *urb, struct pt_regs *regs) 412static void acm_write_bulk(struct urb *urb)
413{ 413{
414 struct acm *acm = (struct acm *)urb->context; 414 struct acm *acm = (struct acm *)urb->context;
415 415
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
index 9cac11ca1bb7..a161d70e1e42 100644
--- a/drivers/usb/class/usblp.c
+++ b/drivers/usb/class/usblp.c
@@ -271,7 +271,7 @@ static int proto_bias = -1;
271 * URB callback. 271 * URB callback.
272 */ 272 */
273 273
274static void usblp_bulk_read(struct urb *urb, struct pt_regs *regs) 274static void usblp_bulk_read(struct urb *urb)
275{ 275{
276 struct usblp *usblp = urb->context; 276 struct usblp *usblp = urb->context;
277 277
@@ -288,7 +288,7 @@ unplug:
288 wake_up_interruptible(&usblp->wait); 288 wake_up_interruptible(&usblp->wait);
289} 289}
290 290
291static void usblp_bulk_write(struct urb *urb, struct pt_regs *regs) 291static void usblp_bulk_write(struct urb *urb)
292{ 292{
293 struct usblp *usblp = urb->context; 293 struct usblp *usblp = urb->context;
294 294
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
index 3f509beb88e4..2c9c9462d899 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -304,7 +304,7 @@ static void snoop_urb(struct urb *urb, void __user *userurb)
304 printk("\n"); 304 printk("\n");
305} 305}
306 306
307static void async_completed(struct urb *urb, struct pt_regs *regs) 307static void async_completed(struct urb *urb)
308{ 308{
309 struct async *as = urb->context; 309 struct async *as = urb->context;
310 struct dev_state *ps = as->ps; 310 struct dev_state *ps = as->ps;
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index e658089f7b50..afa2dd203329 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -522,7 +522,7 @@ error:
522 if (urb->status == -EINPROGRESS) 522 if (urb->status == -EINPROGRESS)
523 urb->status = status; 523 urb->status = status;
524 spin_unlock (&urb->lock); 524 spin_unlock (&urb->lock);
525 usb_hcd_giveback_urb (hcd, urb, NULL); 525 usb_hcd_giveback_urb (hcd, urb);
526 local_irq_restore (flags); 526 local_irq_restore (flags);
527 return 0; 527 return 0;
528} 528}
@@ -572,7 +572,7 @@ void usb_hcd_poll_rh_status(struct usb_hcd *hcd)
572 572
573 /* local irqs are always blocked in completions */ 573 /* local irqs are always blocked in completions */
574 if (length > 0) 574 if (length > 0)
575 usb_hcd_giveback_urb (hcd, urb, NULL); 575 usb_hcd_giveback_urb (hcd, urb);
576 else 576 else
577 hcd->poll_pending = 1; 577 hcd->poll_pending = 1;
578 local_irq_restore (flags); 578 local_irq_restore (flags);
@@ -656,7 +656,7 @@ static int usb_rh_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)
656 urb = NULL; /* wasn't fully queued */ 656 urb = NULL; /* wasn't fully queued */
657 spin_unlock (&hcd_root_hub_lock); 657 spin_unlock (&hcd_root_hub_lock);
658 if (urb) 658 if (urb)
659 usb_hcd_giveback_urb (hcd, urb, NULL); 659 usb_hcd_giveback_urb (hcd, urb);
660 local_irq_restore (flags); 660 local_irq_restore (flags);
661 } 661 }
662 662
@@ -1498,7 +1498,6 @@ EXPORT_SYMBOL (usb_bus_start_enum);
1498 * usb_hcd_giveback_urb - return URB from HCD to device driver 1498 * usb_hcd_giveback_urb - return URB from HCD to device driver
1499 * @hcd: host controller returning the URB 1499 * @hcd: host controller returning the URB
1500 * @urb: urb being returned to the USB device driver. 1500 * @urb: urb being returned to the USB device driver.
1501 * @regs: pt_regs, passed down to the URB completion handler
1502 * Context: in_interrupt() 1501 * Context: in_interrupt()
1503 * 1502 *
1504 * This hands the URB from HCD to its USB device driver, using its 1503 * This hands the URB from HCD to its USB device driver, using its
@@ -1507,7 +1506,7 @@ EXPORT_SYMBOL (usb_bus_start_enum);
1507 * the device driver won't cause problems if it frees, modifies, 1506 * the device driver won't cause problems if it frees, modifies,
1508 * or resubmits this URB. 1507 * or resubmits this URB.
1509 */ 1508 */
1510void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs) 1509void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb)
1511{ 1510{
1512 int at_root_hub; 1511 int at_root_hub;
1513 1512
@@ -1534,7 +1533,7 @@ void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs
1534 1533
1535 usbmon_urb_complete (&hcd->self, urb); 1534 usbmon_urb_complete (&hcd->self, urb);
1536 /* pass ownership to the completion handler */ 1535 /* pass ownership to the completion handler */
1537 urb->complete (urb, regs); 1536 urb->complete (urb);
1538 atomic_dec (&urb->use_count); 1537 atomic_dec (&urb->use_count);
1539 if (unlikely (urb->reject)) 1538 if (unlikely (urb->reject))
1540 wake_up (&usb_kill_urb_queue); 1539 wake_up (&usb_kill_urb_queue);
@@ -1553,7 +1552,7 @@ EXPORT_SYMBOL (usb_hcd_giveback_urb);
1553 * If the controller isn't HALTed, calls the driver's irq handler. 1552 * If the controller isn't HALTed, calls the driver's irq handler.
1554 * Checks whether the controller is now dead. 1553 * Checks whether the controller is now dead.
1555 */ 1554 */
1556irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r) 1555irqreturn_t usb_hcd_irq (int irq, void *__hcd)
1557{ 1556{
1558 struct usb_hcd *hcd = __hcd; 1557 struct usb_hcd *hcd = __hcd;
1559 int start = hcd->state; 1558 int start = hcd->state;
@@ -1561,7 +1560,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r)
1561 if (unlikely(start == HC_STATE_HALT || 1560 if (unlikely(start == HC_STATE_HALT ||
1562 !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) 1561 !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)))
1563 return IRQ_NONE; 1562 return IRQ_NONE;
1564 if (hcd->driver->irq (hcd, r) == IRQ_NONE) 1563 if (hcd->driver->irq (hcd) == IRQ_NONE)
1565 return IRQ_NONE; 1564 return IRQ_NONE;
1566 1565
1567 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); 1566 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
diff --git a/drivers/usb/core/hcd.h b/drivers/usb/core/hcd.h
index 676877c15f81..8f8df0d4382e 100644
--- a/drivers/usb/core/hcd.h
+++ b/drivers/usb/core/hcd.h
@@ -143,15 +143,13 @@ struct hcd_timeout { /* timeouts we allocate */
143/*-------------------------------------------------------------------------*/ 143/*-------------------------------------------------------------------------*/
144 144
145 145
146struct pt_regs;
147
148struct hc_driver { 146struct hc_driver {
149 const char *description; /* "ehci-hcd" etc */ 147 const char *description; /* "ehci-hcd" etc */
150 const char *product_desc; /* product/vendor string */ 148 const char *product_desc; /* product/vendor string */
151 size_t hcd_priv_size; /* size of private data */ 149 size_t hcd_priv_size; /* size of private data */
152 150
153 /* irq handler */ 151 /* irq handler */
154 irqreturn_t (*irq) (struct usb_hcd *hcd, struct pt_regs *regs); 152 irqreturn_t (*irq) (struct usb_hcd *hcd);
155 153
156 int flags; 154 int flags;
157#define HCD_MEMORY 0x0001 /* HC regs use memory (else I/O) */ 155#define HCD_MEMORY 0x0001 /* HC regs use memory (else I/O) */
@@ -205,8 +203,7 @@ struct hc_driver {
205 203
206extern int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags); 204extern int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags);
207extern int usb_hcd_unlink_urb (struct urb *urb, int status); 205extern int usb_hcd_unlink_urb (struct urb *urb, int status);
208extern void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, 206extern void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb);
209 struct pt_regs *regs);
210extern void usb_hcd_endpoint_disable (struct usb_device *udev, 207extern void usb_hcd_endpoint_disable (struct usb_device *udev,
211 struct usb_host_endpoint *ep); 208 struct usb_host_endpoint *ep);
212extern int usb_hcd_get_frame_number (struct usb_device *udev); 209extern int usb_hcd_get_frame_number (struct usb_device *udev);
@@ -248,7 +245,7 @@ void hcd_buffer_free (struct usb_bus *bus, size_t size,
248 void *addr, dma_addr_t dma); 245 void *addr, dma_addr_t dma);
249 246
250/* generic bus glue, needed for host controllers that don't use PCI */ 247/* generic bus glue, needed for host controllers that don't use PCI */
251extern irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs *r); 248extern irqreturn_t usb_hcd_irq (int irq, void *__hcd);
252 249
253extern void usb_hc_died (struct usb_hcd *hcd); 250extern void usb_hc_died (struct usb_hcd *hcd);
254extern void usb_hcd_poll_rh_status(struct usb_hcd *hcd); 251extern void usb_hcd_poll_rh_status(struct usb_hcd *hcd);
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 7676690a0386..66bff184a30c 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -291,7 +291,7 @@ void usb_kick_khubd(struct usb_device *hdev)
291 291
292 292
293/* completion function, fires on port status changes and various faults */ 293/* completion function, fires on port status changes and various faults */
294static void hub_irq(struct urb *urb, struct pt_regs *regs) 294static void hub_irq(struct urb *urb)
295{ 295{
296 struct usb_hub *hub = urb->context; 296 struct usb_hub *hub = urb->context;
297 int status; 297 int status;
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index 85b1cd18336f..fccd1952bad3 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -17,7 +17,7 @@
17#include "hcd.h" /* for usbcore internals */ 17#include "hcd.h" /* for usbcore internals */
18#include "usb.h" 18#include "usb.h"
19 19
20static void usb_api_blocking_completion(struct urb *urb, struct pt_regs *regs) 20static void usb_api_blocking_completion(struct urb *urb)
21{ 21{
22 complete((struct completion *)urb->context); 22 complete((struct completion *)urb->context);
23} 23}
@@ -246,7 +246,7 @@ static void sg_clean (struct usb_sg_request *io)
246 io->dev = NULL; 246 io->dev = NULL;
247} 247}
248 248
249static void sg_complete (struct urb *urb, struct pt_regs *regs) 249static void sg_complete (struct urb *urb)
250{ 250{
251 struct usb_sg_request *io = urb->context; 251 struct usb_sg_request *io = urb->context;
252 252
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index 77beba485a84..72f3db99ff94 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1366,7 +1366,7 @@ static void handle_ep0(struct at91_udc *udc)
1366 } 1366 }
1367} 1367}
1368 1368
1369static irqreturn_t at91_udc_irq (int irq, void *_udc, struct pt_regs *r) 1369static irqreturn_t at91_udc_irq (int irq, void *_udc)
1370{ 1370{
1371 struct at91_udc *udc = _udc; 1371 struct at91_udc *udc = _udc;
1372 u32 rescans = 5; 1372 u32 rescans = 5;
@@ -1552,7 +1552,7 @@ static struct at91_udc controller = {
1552 /* ep6 and ep7 are also reserved (custom silicon might use them) */ 1552 /* ep6 and ep7 are also reserved (custom silicon might use them) */
1553}; 1553};
1554 1554
1555static irqreturn_t at91_vbus_irq(int irq, void *_udc, struct pt_regs *r) 1555static irqreturn_t at91_vbus_irq(int irq, void *_udc)
1556{ 1556{
1557 struct at91_udc *udc = _udc; 1557 struct at91_udc *udc = _udc;
1558 unsigned value; 1558 unsigned value;
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 7cf2999e8616..a3076da3f4eb 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -1628,7 +1628,7 @@ stall:
1628 handled = 1; \ 1628 handled = 1; \
1629 } 1629 }
1630 1630
1631static irqreturn_t goku_irq(int irq, void *_dev, struct pt_regs *r) 1631static irqreturn_t goku_irq(int irq, void *_dev)
1632{ 1632{
1633 struct goku_udc *dev = _dev; 1633 struct goku_udc *dev = _dev;
1634 struct goku_udc_regs __iomem *regs = dev->regs; 1634 struct goku_udc_regs __iomem *regs = dev->regs;
diff --git a/drivers/usb/gadget/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index 36db72579377..179259664c18 100644
--- a/drivers/usb/gadget/lh7a40x_udc.c
+++ b/drivers/usb/gadget/lh7a40x_udc.c
@@ -922,7 +922,7 @@ static void lh7a40x_reset_intr(struct lh7a40x_udc *dev)
922/* 922/*
923 * lh7a40x usb client interrupt handler. 923 * lh7a40x usb client interrupt handler.
924 */ 924 */
925static irqreturn_t lh7a40x_udc_irq(int irq, void *_dev, struct pt_regs *r) 925static irqreturn_t lh7a40x_udc_irq(int irq, void *_dev)
926{ 926{
927 struct lh7a40x_udc *dev = _dev; 927 struct lh7a40x_udc *dev = _dev;
928 928
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index 3bda37f9a35f..d954daa8e9e0 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -2753,7 +2753,7 @@ static void handle_stat1_irqs (struct net2280 *dev, u32 stat)
2753 DEBUG (dev, "unhandled irqstat1 %08x\n", stat); 2753 DEBUG (dev, "unhandled irqstat1 %08x\n", stat);
2754} 2754}
2755 2755
2756static irqreturn_t net2280_irq (int irq, void *_dev, struct pt_regs * r) 2756static irqreturn_t net2280_irq (int irq, void *_dev)
2757{ 2757{
2758 struct net2280 *dev = _dev; 2758 struct net2280 *dev = _dev;
2759 2759
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index 8c18df869833..48a09fd89d18 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -1815,8 +1815,7 @@ static void devstate_irq(struct omap_udc *udc, u16 irq_src)
1815 UDC_IRQ_SRC_REG = UDC_DS_CHG; 1815 UDC_IRQ_SRC_REG = UDC_DS_CHG;
1816} 1816}
1817 1817
1818static irqreturn_t 1818static irqreturn_t omap_udc_irq(int irq, void *_udc)
1819omap_udc_irq(int irq, void *_udc, struct pt_regs *r)
1820{ 1819{
1821 struct omap_udc *udc = _udc; 1820 struct omap_udc *udc = _udc;
1822 u16 irq_src; 1821 u16 irq_src;
@@ -1888,8 +1887,7 @@ static void pio_out_timer(unsigned long _ep)
1888 spin_unlock_irqrestore(&ep->udc->lock, flags); 1887 spin_unlock_irqrestore(&ep->udc->lock, flags);
1889} 1888}
1890 1889
1891static irqreturn_t 1890static irqreturn_t omap_udc_pio_irq(int irq, void *_dev)
1892omap_udc_pio_irq(int irq, void *_dev, struct pt_regs *r)
1893{ 1891{
1894 u16 epn_stat, irq_src; 1892 u16 epn_stat, irq_src;
1895 irqreturn_t status = IRQ_NONE; 1893 irqreturn_t status = IRQ_NONE;
@@ -1968,8 +1966,7 @@ omap_udc_pio_irq(int irq, void *_dev, struct pt_regs *r)
1968} 1966}
1969 1967
1970#ifdef USE_ISO 1968#ifdef USE_ISO
1971static irqreturn_t 1969static irqreturn_t omap_udc_iso_irq(int irq, void *_dev)
1972omap_udc_iso_irq(int irq, void *_dev, struct pt_regs *r)
1973{ 1970{
1974 struct omap_udc *udc = _dev; 1971 struct omap_udc *udc = _dev;
1975 struct omap_ep *ep; 1972 struct omap_ep *ep;
diff --git a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c
index f1adcf8b2023..f42c00ef0bca 100644
--- a/drivers/usb/gadget/pxa2xx_udc.c
+++ b/drivers/usb/gadget/pxa2xx_udc.c
@@ -110,7 +110,7 @@ static int use_dma = 1;
110module_param(use_dma, bool, 0); 110module_param(use_dma, bool, 0);
111MODULE_PARM_DESC (use_dma, "true to use dma"); 111MODULE_PARM_DESC (use_dma, "true to use dma");
112 112
113static void dma_nodesc_handler (int dmach, void *_ep, struct pt_regs *r); 113static void dma_nodesc_handler (int dmach, void *_ep);
114static void kick_dma(struct pxa2xx_ep *ep, struct pxa2xx_request *req); 114static void kick_dma(struct pxa2xx_ep *ep, struct pxa2xx_request *req);
115 115
116#ifdef USE_OUT_DMA 116#ifdef USE_OUT_DMA
@@ -828,7 +828,7 @@ static void cancel_dma(struct pxa2xx_ep *ep)
828} 828}
829 829
830/* dma channel stopped ... normal tx end (IN), or on error (IN/OUT) */ 830/* dma channel stopped ... normal tx end (IN), or on error (IN/OUT) */
831static void dma_nodesc_handler(int dmach, void *_ep, struct pt_regs *r) 831static void dma_nodesc_handler(int dmach, void *_ep)
832{ 832{
833 struct pxa2xx_ep *ep = _ep; 833 struct pxa2xx_ep *ep = _ep;
834 struct pxa2xx_request *req; 834 struct pxa2xx_request *req;
@@ -1724,7 +1724,7 @@ EXPORT_SYMBOL(usb_gadget_unregister_driver);
1724 */ 1724 */
1725 1725
1726static irqreturn_t 1726static irqreturn_t
1727lubbock_vbus_irq(int irq, void *_dev, struct pt_regs *r) 1727lubbock_vbus_irq(int irq, void *_dev)
1728{ 1728{
1729 struct pxa2xx_udc *dev = _dev; 1729 struct pxa2xx_udc *dev = _dev;
1730 int vbus; 1730 int vbus;
@@ -1754,8 +1754,7 @@ lubbock_vbus_irq(int irq, void *_dev, struct pt_regs *r)
1754 1754
1755#endif 1755#endif
1756 1756
1757static irqreturn_t 1757static irqreturn_t udc_vbus_irq(int irq, void *_dev)
1758udc_vbus_irq(int irq, void *_dev, struct pt_regs *r)
1759{ 1758{
1760 struct pxa2xx_udc *dev = _dev; 1759 struct pxa2xx_udc *dev = _dev;
1761 int vbus = pxa_gpio_get(dev->mach->gpio_vbus); 1760 int vbus = pxa_gpio_get(dev->mach->gpio_vbus);
@@ -2084,7 +2083,7 @@ static void handle_ep(struct pxa2xx_ep *ep)
2084 * could cause usb protocol errors. 2083 * could cause usb protocol errors.
2085 */ 2084 */
2086static irqreturn_t 2085static irqreturn_t
2087pxa2xx_udc_irq(int irq, void *_dev, struct pt_regs *r) 2086pxa2xx_udc_irq(int irq, void *_dev)
2088{ 2087{
2089 struct pxa2xx_udc *dev = _dev; 2088 struct pxa2xx_udc *dev = _dev;
2090 int handled; 2089 int handled;
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 5ac918591131..aac6ec5dd7cf 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -254,8 +254,8 @@ static void ehci_quiesce (struct ehci_hcd *ehci)
254 254
255/*-------------------------------------------------------------------------*/ 255/*-------------------------------------------------------------------------*/
256 256
257static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs); 257static void end_unlink_async (struct ehci_hcd *ehci);
258static void ehci_work(struct ehci_hcd *ehci, struct pt_regs *regs); 258static void ehci_work(struct ehci_hcd *ehci);
259 259
260#include "ehci-hub.c" 260#include "ehci-hub.c"
261#include "ehci-mem.c" 261#include "ehci-mem.c"
@@ -280,7 +280,7 @@ static void ehci_iaa_watchdog (unsigned long param)
280 ehci_vdbg (ehci, "lost IAA\n"); 280 ehci_vdbg (ehci, "lost IAA\n");
281 COUNT (ehci->stats.lost_iaa); 281 COUNT (ehci->stats.lost_iaa);
282 writel (STS_IAA, &ehci->regs->status); 282 writel (STS_IAA, &ehci->regs->status);
283 end_unlink_async (ehci, NULL); 283 end_unlink_async (ehci);
284 } 284 }
285 } 285 }
286 286
@@ -299,7 +299,7 @@ static void ehci_watchdog (unsigned long param)
299 start_unlink_async (ehci, ehci->async); 299 start_unlink_async (ehci, ehci->async);
300 300
301 /* ehci could run by timer, without IRQs ... */ 301 /* ehci could run by timer, without IRQs ... */
302 ehci_work (ehci, NULL); 302 ehci_work (ehci);
303 303
304 spin_unlock_irqrestore (&ehci->lock, flags); 304 spin_unlock_irqrestore (&ehci->lock, flags);
305} 305}
@@ -342,7 +342,7 @@ static void ehci_port_power (struct ehci_hcd *ehci, int is_on)
342 * ehci_work is called from some interrupts, timers, and so on. 342 * ehci_work is called from some interrupts, timers, and so on.
343 * it calls driver completion functions, after dropping ehci->lock. 343 * it calls driver completion functions, after dropping ehci->lock.
344 */ 344 */
345static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs) 345static void ehci_work (struct ehci_hcd *ehci)
346{ 346{
347 timer_action_done (ehci, TIMER_IO_WATCHDOG); 347 timer_action_done (ehci, TIMER_IO_WATCHDOG);
348 348
@@ -353,9 +353,9 @@ static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs)
353 if (ehci->scanning) 353 if (ehci->scanning)
354 return; 354 return;
355 ehci->scanning = 1; 355 ehci->scanning = 1;
356 scan_async (ehci, regs); 356 scan_async (ehci);
357 if (ehci->next_uframe != -1) 357 if (ehci->next_uframe != -1)
358 scan_periodic (ehci, regs); 358 scan_periodic (ehci);
359 ehci->scanning = 0; 359 ehci->scanning = 0;
360 360
361 /* the IO watchdog guards against hardware or driver bugs that 361 /* the IO watchdog guards against hardware or driver bugs that
@@ -397,7 +397,7 @@ static void ehci_stop (struct usb_hcd *hcd)
397 /* root hub is shut down separately (first, when possible) */ 397 /* root hub is shut down separately (first, when possible) */
398 spin_lock_irq (&ehci->lock); 398 spin_lock_irq (&ehci->lock);
399 if (ehci->async) 399 if (ehci->async)
400 ehci_work (ehci, NULL); 400 ehci_work (ehci);
401 spin_unlock_irq (&ehci->lock); 401 spin_unlock_irq (&ehci->lock);
402 ehci_mem_cleanup (ehci); 402 ehci_mem_cleanup (ehci);
403 403
@@ -573,7 +573,7 @@ static int ehci_run (struct usb_hcd *hcd)
573 573
574/*-------------------------------------------------------------------------*/ 574/*-------------------------------------------------------------------------*/
575 575
576static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs) 576static irqreturn_t ehci_irq (struct usb_hcd *hcd)
577{ 577{
578 struct ehci_hcd *ehci = hcd_to_ehci (hcd); 578 struct ehci_hcd *ehci = hcd_to_ehci (hcd);
579 u32 status; 579 u32 status;
@@ -619,7 +619,7 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs)
619 /* complete the unlinking of some qh [4.15.2.3] */ 619 /* complete the unlinking of some qh [4.15.2.3] */
620 if (status & STS_IAA) { 620 if (status & STS_IAA) {
621 COUNT (ehci->stats.reclaim); 621 COUNT (ehci->stats.reclaim);
622 end_unlink_async (ehci, regs); 622 end_unlink_async (ehci);
623 bh = 1; 623 bh = 1;
624 } 624 }
625 625
@@ -670,7 +670,7 @@ dead:
670 } 670 }
671 671
672 if (bh) 672 if (bh)
673 ehci_work (ehci, regs); 673 ehci_work (ehci);
674 spin_unlock (&ehci->lock); 674 spin_unlock (&ehci->lock);
675 return IRQ_HANDLED; 675 return IRQ_HANDLED;
676} 676}
@@ -727,7 +727,7 @@ static void unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)
727 727
728 /* failfast */ 728 /* failfast */
729 if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) 729 if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state))
730 end_unlink_async (ehci, NULL); 730 end_unlink_async (ehci);
731 731
732 /* defer till later if busy */ 732 /* defer till later if busy */
733 else if (ehci->reclaim) { 733 else if (ehci->reclaim) {
@@ -787,7 +787,7 @@ static int ehci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)
787 intr_deschedule (ehci, qh); 787 intr_deschedule (ehci, qh);
788 /* FALL THROUGH */ 788 /* FALL THROUGH */
789 case QH_STATE_IDLE: 789 case QH_STATE_IDLE:
790 qh_completions (ehci, qh, NULL); 790 qh_completions (ehci, qh);
791 break; 791 break;
792 default: 792 default:
793 ehci_dbg (ehci, "bogus qh %p state %d\n", 793 ehci_dbg (ehci, "bogus qh %p state %d\n",
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index b2ee13c58517..2012213c0a25 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -48,8 +48,8 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
48 } 48 }
49 ehci->command = readl (&ehci->regs->command); 49 ehci->command = readl (&ehci->regs->command);
50 if (ehci->reclaim) 50 if (ehci->reclaim)
51 end_unlink_async (ehci, NULL); 51 end_unlink_async (ehci);
52 ehci_work(ehci, NULL); 52 ehci_work(ehci);
53 53
54 /* suspend any active/unsuspended ports, maybe allow wakeup */ 54 /* suspend any active/unsuspended ports, maybe allow wakeup */
55 while (port--) { 55 while (port--) {
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index 08d0472d4f57..35e3fab6fc4e 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -303,8 +303,8 @@ restart:
303 /* emptying the schedule aborts any urbs */ 303 /* emptying the schedule aborts any urbs */
304 spin_lock_irq(&ehci->lock); 304 spin_lock_irq(&ehci->lock);
305 if (ehci->reclaim) 305 if (ehci->reclaim)
306 end_unlink_async (ehci, NULL); 306 end_unlink_async (ehci);
307 ehci_work(ehci, NULL); 307 ehci_work(ehci);
308 spin_unlock_irq(&ehci->lock); 308 spin_unlock_irq(&ehci->lock);
309 309
310 /* restart; khubd will disconnect devices */ 310 /* restart; khubd will disconnect devices */
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
index 7fc25b6bd7d2..46327272f614 100644
--- a/drivers/usb/host/ehci-q.c
+++ b/drivers/usb/host/ehci-q.c
@@ -214,7 +214,7 @@ static void qtd_copy_status (
214} 214}
215 215
216static void 216static void
217ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb, struct pt_regs *regs) 217ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb)
218__releases(ehci->lock) 218__releases(ehci->lock)
219__acquires(ehci->lock) 219__acquires(ehci->lock)
220{ 220{
@@ -262,7 +262,7 @@ __acquires(ehci->lock)
262 262
263 /* complete() can reenter this HCD */ 263 /* complete() can reenter this HCD */
264 spin_unlock (&ehci->lock); 264 spin_unlock (&ehci->lock);
265 usb_hcd_giveback_urb (ehci_to_hcd(ehci), urb, regs); 265 usb_hcd_giveback_urb (ehci_to_hcd(ehci), urb);
266 spin_lock (&ehci->lock); 266 spin_lock (&ehci->lock);
267} 267}
268 268
@@ -279,7 +279,7 @@ static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh);
279 */ 279 */
280#define HALT_BIT __constant_cpu_to_le32(QTD_STS_HALT) 280#define HALT_BIT __constant_cpu_to_le32(QTD_STS_HALT)
281static unsigned 281static unsigned
282qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs) 282qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh)
283{ 283{
284 struct ehci_qtd *last = NULL, *end = qh->dummy; 284 struct ehci_qtd *last = NULL, *end = qh->dummy;
285 struct list_head *entry, *tmp; 285 struct list_head *entry, *tmp;
@@ -317,7 +317,7 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs)
317 /* clean up any state from previous QTD ...*/ 317 /* clean up any state from previous QTD ...*/
318 if (last) { 318 if (last) {
319 if (likely (last->urb != urb)) { 319 if (likely (last->urb != urb)) {
320 ehci_urb_done (ehci, last->urb, regs); 320 ehci_urb_done (ehci, last->urb);
321 count++; 321 count++;
322 } 322 }
323 ehci_qtd_free (ehci, last); 323 ehci_qtd_free (ehci, last);
@@ -407,7 +407,7 @@ halt:
407 407
408 /* last urb's completion might still need calling */ 408 /* last urb's completion might still need calling */
409 if (likely (last != NULL)) { 409 if (likely (last != NULL)) {
410 ehci_urb_done (ehci, last->urb, regs); 410 ehci_urb_done (ehci, last->urb);
411 count++; 411 count++;
412 ehci_qtd_free (ehci, last); 412 ehci_qtd_free (ehci, last);
413 } 413 }
@@ -962,7 +962,7 @@ submit_async (
962 962
963/* the async qh for the qtds being reclaimed are now unlinked from the HC */ 963/* the async qh for the qtds being reclaimed are now unlinked from the HC */
964 964
965static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs) 965static void end_unlink_async (struct ehci_hcd *ehci)
966{ 966{
967 struct ehci_qh *qh = ehci->reclaim; 967 struct ehci_qh *qh = ehci->reclaim;
968 struct ehci_qh *next; 968 struct ehci_qh *next;
@@ -979,7 +979,7 @@ static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs)
979 ehci->reclaim = next; 979 ehci->reclaim = next;
980 qh->reclaim = NULL; 980 qh->reclaim = NULL;
981 981
982 qh_completions (ehci, qh, regs); 982 qh_completions (ehci, qh);
983 983
984 if (!list_empty (&qh->qtd_list) 984 if (!list_empty (&qh->qtd_list)
985 && HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) 985 && HC_IS_RUNNING (ehci_to_hcd(ehci)->state))
@@ -1047,7 +1047,7 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)
1047 /* if (unlikely (qh->reclaim != 0)) 1047 /* if (unlikely (qh->reclaim != 0))
1048 * this will recurse, probably not much 1048 * this will recurse, probably not much
1049 */ 1049 */
1050 end_unlink_async (ehci, NULL); 1050 end_unlink_async (ehci);
1051 return; 1051 return;
1052 } 1052 }
1053 1053
@@ -1059,8 +1059,7 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)
1059 1059
1060/*-------------------------------------------------------------------------*/ 1060/*-------------------------------------------------------------------------*/
1061 1061
1062static void 1062static void scan_async (struct ehci_hcd *ehci)
1063scan_async (struct ehci_hcd *ehci, struct pt_regs *regs)
1064{ 1063{
1065 struct ehci_qh *qh; 1064 struct ehci_qh *qh;
1066 enum ehci_timer_action action = TIMER_IO_WATCHDOG; 1065 enum ehci_timer_action action = TIMER_IO_WATCHDOG;
@@ -1084,7 +1083,7 @@ rescan:
1084 */ 1083 */
1085 qh = qh_get (qh); 1084 qh = qh_get (qh);
1086 qh->stamp = ehci->stamp; 1085 qh->stamp = ehci->stamp;
1087 temp = qh_completions (ehci, qh, regs); 1086 temp = qh_completions (ehci, qh);
1088 qh_put (qh); 1087 qh_put (qh);
1089 if (temp != 0) { 1088 if (temp != 0) {
1090 goto rescan; 1089 goto rescan;
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index e5e9c653c907..65c402a0fa7a 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -1553,8 +1553,7 @@ itd_link_urb (
1553static unsigned 1553static unsigned
1554itd_complete ( 1554itd_complete (
1555 struct ehci_hcd *ehci, 1555 struct ehci_hcd *ehci,
1556 struct ehci_itd *itd, 1556 struct ehci_itd *itd
1557 struct pt_regs *regs
1558) { 1557) {
1559 struct urb *urb = itd->urb; 1558 struct urb *urb = itd->urb;
1560 struct usb_iso_packet_descriptor *desc; 1559 struct usb_iso_packet_descriptor *desc;
@@ -1613,7 +1612,7 @@ itd_complete (
1613 1612
1614 /* give urb back to the driver ... can be out-of-order */ 1613 /* give urb back to the driver ... can be out-of-order */
1615 dev = urb->dev; 1614 dev = urb->dev;
1616 ehci_urb_done (ehci, urb, regs); 1615 ehci_urb_done (ehci, urb);
1617 urb = NULL; 1616 urb = NULL;
1618 1617
1619 /* defer stopping schedule; completion can submit */ 1618 /* defer stopping schedule; completion can submit */
@@ -1930,8 +1929,7 @@ sitd_link_urb (
1930static unsigned 1929static unsigned
1931sitd_complete ( 1930sitd_complete (
1932 struct ehci_hcd *ehci, 1931 struct ehci_hcd *ehci,
1933 struct ehci_sitd *sitd, 1932 struct ehci_sitd *sitd
1934 struct pt_regs *regs
1935) { 1933) {
1936 struct urb *urb = sitd->urb; 1934 struct urb *urb = sitd->urb;
1937 struct usb_iso_packet_descriptor *desc; 1935 struct usb_iso_packet_descriptor *desc;
@@ -1978,7 +1976,7 @@ sitd_complete (
1978 1976
1979 /* give urb back to the driver */ 1977 /* give urb back to the driver */
1980 dev = urb->dev; 1978 dev = urb->dev;
1981 ehci_urb_done (ehci, urb, regs); 1979 ehci_urb_done (ehci, urb);
1982 urb = NULL; 1980 urb = NULL;
1983 1981
1984 /* defer stopping schedule; completion can submit */ 1982 /* defer stopping schedule; completion can submit */
@@ -2065,8 +2063,7 @@ sitd_submit (struct ehci_hcd *ehci, struct urb *urb, gfp_t mem_flags)
2065static inline unsigned 2063static inline unsigned
2066sitd_complete ( 2064sitd_complete (
2067 struct ehci_hcd *ehci, 2065 struct ehci_hcd *ehci,
2068 struct ehci_sitd *sitd, 2066 struct ehci_sitd *sitd
2069 struct pt_regs *regs
2070) { 2067) {
2071 ehci_err (ehci, "sitd_complete %p?\n", sitd); 2068 ehci_err (ehci, "sitd_complete %p?\n", sitd);
2072 return 0; 2069 return 0;
@@ -2077,7 +2074,7 @@ sitd_complete (
2077/*-------------------------------------------------------------------------*/ 2074/*-------------------------------------------------------------------------*/
2078 2075
2079static void 2076static void
2080scan_periodic (struct ehci_hcd *ehci, struct pt_regs *regs) 2077scan_periodic (struct ehci_hcd *ehci)
2081{ 2078{
2082 unsigned frame, clock, now_uframe, mod; 2079 unsigned frame, clock, now_uframe, mod;
2083 unsigned modified; 2080 unsigned modified;
@@ -2131,7 +2128,7 @@ restart:
2131 temp.qh = qh_get (q.qh); 2128 temp.qh = qh_get (q.qh);
2132 type = Q_NEXT_TYPE (q.qh->hw_next); 2129 type = Q_NEXT_TYPE (q.qh->hw_next);
2133 q = q.qh->qh_next; 2130 q = q.qh->qh_next;
2134 modified = qh_completions (ehci, temp.qh, regs); 2131 modified = qh_completions (ehci, temp.qh);
2135 if (unlikely (list_empty (&temp.qh->qtd_list))) 2132 if (unlikely (list_empty (&temp.qh->qtd_list)))
2136 intr_deschedule (ehci, temp.qh); 2133 intr_deschedule (ehci, temp.qh);
2137 qh_put (temp.qh); 2134 qh_put (temp.qh);
@@ -2169,7 +2166,7 @@ restart:
2169 *hw_p = q.itd->hw_next; 2166 *hw_p = q.itd->hw_next;
2170 type = Q_NEXT_TYPE (q.itd->hw_next); 2167 type = Q_NEXT_TYPE (q.itd->hw_next);
2171 wmb(); 2168 wmb();
2172 modified = itd_complete (ehci, q.itd, regs); 2169 modified = itd_complete (ehci, q.itd);
2173 q = *q_p; 2170 q = *q_p;
2174 break; 2171 break;
2175 case Q_TYPE_SITD: 2172 case Q_TYPE_SITD:
@@ -2185,7 +2182,7 @@ restart:
2185 *hw_p = q.sitd->hw_next; 2182 *hw_p = q.sitd->hw_next;
2186 type = Q_NEXT_TYPE (q.sitd->hw_next); 2183 type = Q_NEXT_TYPE (q.sitd->hw_next);
2187 wmb(); 2184 wmb();
2188 modified = sitd_complete (ehci, q.sitd, regs); 2185 modified = sitd_complete (ehci, q.sitd);
2189 q = *q_p; 2186 q = *q_p;
2190 break; 2187 break;
2191 default: 2188 default:
diff --git a/drivers/usb/host/hc_crisv10.c b/drivers/usb/host/hc_crisv10.c
index 61e571782cf7..87eca6aeacf2 100644
--- a/drivers/usb/host/hc_crisv10.c
+++ b/drivers/usb/host/hc_crisv10.c
@@ -478,9 +478,9 @@ static int etrax_usb_submit_urb(struct urb *urb, unsigned mem_flags);
478static int etrax_usb_unlink_urb(struct urb *urb, int status); 478static int etrax_usb_unlink_urb(struct urb *urb, int status);
479static int etrax_usb_get_frame_number(struct usb_device *usb_dev); 479static int etrax_usb_get_frame_number(struct usb_device *usb_dev);
480 480
481static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc, struct pt_regs *regs); 481static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc);
482static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc, struct pt_regs *regs); 482static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc);
483static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc, struct pt_regs *regs); 483static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc);
484static void etrax_usb_hc_interrupt_bottom_half(void *data); 484static void etrax_usb_hc_interrupt_bottom_half(void *data);
485 485
486static void etrax_usb_isoc_descr_interrupt_bottom_half(void *data); 486static void etrax_usb_isoc_descr_interrupt_bottom_half(void *data);
@@ -1573,7 +1573,7 @@ static int etrax_usb_get_frame_number(struct usb_device *usb_dev)
1573 return (*R_USB_FM_NUMBER & 0x7ff); 1573 return (*R_USB_FM_NUMBER & 0x7ff);
1574} 1574}
1575 1575
1576static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc, struct pt_regs *regs) 1576static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc)
1577{ 1577{
1578 DBFENTER; 1578 DBFENTER;
1579 1579
@@ -1839,7 +1839,7 @@ static void etrax_usb_isoc_descr_interrupt_bottom_half(void *data)
1839 1839
1840 1840
1841 1841
1842static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc, struct pt_regs *regs) 1842static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc)
1843{ 1843{
1844 struct urb *urb; 1844 struct urb *urb;
1845 etrax_urb_priv_t *urb_priv; 1845 etrax_urb_priv_t *urb_priv;
@@ -3280,7 +3280,7 @@ static void etrax_usb_complete_urb(struct urb *urb, int status)
3280 3280
3281 3281
3282 3282
3283static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc, struct pt_regs *regs) 3283static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc)
3284{ 3284{
3285 usb_interrupt_registers_t *reg; 3285 usb_interrupt_registers_t *reg;
3286 unsigned long flags; 3286 unsigned long flags;
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index a72e041df8e7..2718b5dc4ec1 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -418,7 +418,7 @@ static void postproc_atl_queue(struct isp116x *isp116x)
418 processed urbs. 418 processed urbs.
419*/ 419*/
420static void finish_request(struct isp116x *isp116x, struct isp116x_ep *ep, 420static void finish_request(struct isp116x *isp116x, struct isp116x_ep *ep,
421 struct urb *urb, struct pt_regs *regs) 421 struct urb *urb)
422__releases(isp116x->lock) __acquires(isp116x->lock) 422__releases(isp116x->lock) __acquires(isp116x->lock)
423{ 423{
424 unsigned i; 424 unsigned i;
@@ -432,7 +432,7 @@ __releases(isp116x->lock) __acquires(isp116x->lock)
432 urb_dbg(urb, "Finish"); 432 urb_dbg(urb, "Finish");
433 433
434 spin_unlock(&isp116x->lock); 434 spin_unlock(&isp116x->lock);
435 usb_hcd_giveback_urb(isp116x_to_hcd(isp116x), urb, regs); 435 usb_hcd_giveback_urb(isp116x_to_hcd(isp116x), urb);
436 spin_lock(&isp116x->lock); 436 spin_lock(&isp116x->lock);
437 437
438 /* take idle endpoints out of the schedule */ 438 /* take idle endpoints out of the schedule */
@@ -568,7 +568,7 @@ static void start_atl_transfers(struct isp116x *isp116x)
568/* 568/*
569 Finish the processed transfers 569 Finish the processed transfers
570*/ 570*/
571static void finish_atl_transfers(struct isp116x *isp116x, struct pt_regs *regs) 571static void finish_atl_transfers(struct isp116x *isp116x)
572{ 572{
573 struct isp116x_ep *ep; 573 struct isp116x_ep *ep;
574 struct urb *urb; 574 struct urb *urb;
@@ -590,12 +590,12 @@ static void finish_atl_transfers(struct isp116x *isp116x, struct pt_regs *regs)
590 occured, while URB_SHORT_NOT_OK was set */ 590 occured, while URB_SHORT_NOT_OK was set */
591 if (urb && urb->status != -EINPROGRESS 591 if (urb && urb->status != -EINPROGRESS
592 && ep->nextpid != USB_PID_ACK) 592 && ep->nextpid != USB_PID_ACK)
593 finish_request(isp116x, ep, urb, regs); 593 finish_request(isp116x, ep, urb);
594 } 594 }
595 atomic_dec(&isp116x->atl_finishing); 595 atomic_dec(&isp116x->atl_finishing);
596} 596}
597 597
598static irqreturn_t isp116x_irq(struct usb_hcd *hcd, struct pt_regs *regs) 598static irqreturn_t isp116x_irq(struct usb_hcd *hcd)
599{ 599{
600 struct isp116x *isp116x = hcd_to_isp116x(hcd); 600 struct isp116x *isp116x = hcd_to_isp116x(hcd);
601 u16 irqstat; 601 u16 irqstat;
@@ -608,7 +608,7 @@ static irqreturn_t isp116x_irq(struct usb_hcd *hcd, struct pt_regs *regs)
608 608
609 if (irqstat & (HCuPINT_ATL | HCuPINT_SOF)) { 609 if (irqstat & (HCuPINT_ATL | HCuPINT_SOF)) {
610 ret = IRQ_HANDLED; 610 ret = IRQ_HANDLED;
611 finish_atl_transfers(isp116x, regs); 611 finish_atl_transfers(isp116x);
612 } 612 }
613 613
614 if (irqstat & HCuPINT_OPR) { 614 if (irqstat & HCuPINT_OPR) {
@@ -824,7 +824,7 @@ static int isp116x_urb_enqueue(struct usb_hcd *hcd,
824 spin_lock(&urb->lock); 824 spin_lock(&urb->lock);
825 if (urb->status != -EINPROGRESS) { 825 if (urb->status != -EINPROGRESS) {
826 spin_unlock(&urb->lock); 826 spin_unlock(&urb->lock);
827 finish_request(isp116x, ep, urb, NULL); 827 finish_request(isp116x, ep, urb);
828 ret = 0; 828 ret = 0;
829 goto fail; 829 goto fail;
830 } 830 }
@@ -870,7 +870,7 @@ static int isp116x_urb_dequeue(struct usb_hcd *hcd, struct urb *urb)
870 } 870 }
871 871
872 if (urb) 872 if (urb)
873 finish_request(isp116x, ep, urb, NULL); 873 finish_request(isp116x, ep, urb);
874 874
875 spin_unlock_irqrestore(&isp116x->lock, flags); 875 spin_unlock_irqrestore(&isp116x->lock, flags);
876 return 0; 876 return 0;
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index d1d68c402251..9be6b303e784 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -261,7 +261,7 @@ static int ohci_urb_enqueue (
261 if (urb->status != -EINPROGRESS) { 261 if (urb->status != -EINPROGRESS) {
262 spin_unlock (&urb->lock); 262 spin_unlock (&urb->lock);
263 urb->hcpriv = urb_priv; 263 urb->hcpriv = urb_priv;
264 finish_urb (ohci, urb, NULL); 264 finish_urb (ohci, urb);
265 retval = 0; 265 retval = 0;
266 goto fail; 266 goto fail;
267 } 267 }
@@ -337,7 +337,7 @@ static int ohci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)
337 * any more ... just clean up every urb's memory. 337 * any more ... just clean up every urb's memory.
338 */ 338 */
339 if (urb->hcpriv) 339 if (urb->hcpriv)
340 finish_urb (ohci, urb, NULL); 340 finish_urb (ohci, urb);
341 } 341 }
342 spin_unlock_irqrestore (&ohci->lock, flags); 342 spin_unlock_irqrestore (&ohci->lock, flags);
343 return 0; 343 return 0;
@@ -369,7 +369,7 @@ rescan:
369 if (!HC_IS_RUNNING (hcd->state)) { 369 if (!HC_IS_RUNNING (hcd->state)) {
370sanitize: 370sanitize:
371 ed->state = ED_IDLE; 371 ed->state = ED_IDLE;
372 finish_unlinks (ohci, 0, NULL); 372 finish_unlinks (ohci, 0);
373 } 373 }
374 374
375 switch (ed->state) { 375 switch (ed->state) {
@@ -691,7 +691,7 @@ retry:
691 691
692/* an interrupt happens */ 692/* an interrupt happens */
693 693
694static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs) 694static irqreturn_t ohci_irq (struct usb_hcd *hcd)
695{ 695{
696 struct ohci_hcd *ohci = hcd_to_ohci (hcd); 696 struct ohci_hcd *ohci = hcd_to_ohci (hcd);
697 struct ohci_regs __iomem *regs = ohci->regs; 697 struct ohci_regs __iomem *regs = ohci->regs;
@@ -747,7 +747,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs)
747 if (HC_IS_RUNNING(hcd->state)) 747 if (HC_IS_RUNNING(hcd->state))
748 ohci_writel (ohci, OHCI_INTR_WDH, &regs->intrdisable); 748 ohci_writel (ohci, OHCI_INTR_WDH, &regs->intrdisable);
749 spin_lock (&ohci->lock); 749 spin_lock (&ohci->lock);
750 dl_done_list (ohci, ptregs); 750 dl_done_list (ohci);
751 spin_unlock (&ohci->lock); 751 spin_unlock (&ohci->lock);
752 if (HC_IS_RUNNING(hcd->state)) 752 if (HC_IS_RUNNING(hcd->state))
753 ohci_writel (ohci, OHCI_INTR_WDH, &regs->intrenable); 753 ohci_writel (ohci, OHCI_INTR_WDH, &regs->intrenable);
@@ -760,7 +760,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs)
760 */ 760 */
761 spin_lock (&ohci->lock); 761 spin_lock (&ohci->lock);
762 if (ohci->ed_rm_list) 762 if (ohci->ed_rm_list)
763 finish_unlinks (ohci, ohci_frame_no(ohci), ptregs); 763 finish_unlinks (ohci, ohci_frame_no(ohci));
764 if ((ints & OHCI_INTR_SF) != 0 && !ohci->ed_rm_list 764 if ((ints & OHCI_INTR_SF) != 0 && !ohci->ed_rm_list
765 && HC_IS_RUNNING(hcd->state)) 765 && HC_IS_RUNNING(hcd->state))
766 ohci_writel (ohci, OHCI_INTR_SF, &regs->intrdisable); 766 ohci_writel (ohci, OHCI_INTR_SF, &regs->intrdisable);
@@ -852,7 +852,7 @@ static int ohci_restart (struct ohci_hcd *ohci)
852 urb->status = -ESHUTDOWN; 852 urb->status = -ESHUTDOWN;
853 spin_unlock (&urb->lock); 853 spin_unlock (&urb->lock);
854 } 854 }
855 finish_unlinks (ohci, 0, NULL); 855 finish_unlinks (ohci, 0);
856 spin_unlock_irq(&ohci->lock); 856 spin_unlock_irq(&ohci->lock);
857 857
858 /* paranoia, in case that didn't work: */ 858 /* paranoia, in case that didn't work: */
diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c
index ec75774abeac..6f113596af66 100644
--- a/drivers/usb/host/ohci-hub.c
+++ b/drivers/usb/host/ohci-hub.c
@@ -47,8 +47,8 @@ static void ohci_rhsc_enable (struct usb_hcd *hcd)
47#define OHCI_SCHED_ENABLES \ 47#define OHCI_SCHED_ENABLES \
48 (OHCI_CTRL_CLE|OHCI_CTRL_BLE|OHCI_CTRL_PLE|OHCI_CTRL_IE) 48 (OHCI_CTRL_CLE|OHCI_CTRL_BLE|OHCI_CTRL_PLE|OHCI_CTRL_IE)
49 49
50static void dl_done_list (struct ohci_hcd *, struct pt_regs *); 50static void dl_done_list (struct ohci_hcd *);
51static void finish_unlinks (struct ohci_hcd *, u16 , struct pt_regs *); 51static void finish_unlinks (struct ohci_hcd *, u16);
52 52
53static int ohci_rh_suspend (struct ohci_hcd *ohci, int autostop) 53static int ohci_rh_suspend (struct ohci_hcd *ohci, int autostop)
54__releases(ohci->lock) 54__releases(ohci->lock)
@@ -94,8 +94,8 @@ __acquires(ohci->lock)
94 msleep (8); 94 msleep (8);
95 spin_lock_irq (&ohci->lock); 95 spin_lock_irq (&ohci->lock);
96 } 96 }
97 dl_done_list (ohci, NULL); 97 dl_done_list (ohci);
98 finish_unlinks (ohci, ohci_frame_no(ohci), NULL); 98 finish_unlinks (ohci, ohci_frame_no(ohci));
99 99
100 /* maybe resume can wake root hub */ 100 /* maybe resume can wake root hub */
101 if (device_may_wakeup(&ohci_to_hcd(ohci)->self.root_hub->dev) || 101 if (device_may_wakeup(&ohci_to_hcd(ohci)->self.root_hub->dev) ||
diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c
index e372306ed0da..e08d1a2664e6 100644
--- a/drivers/usb/host/ohci-q.c
+++ b/drivers/usb/host/ohci-q.c
@@ -7,6 +7,8 @@
7 * This file is licenced under the GPL. 7 * This file is licenced under the GPL.
8 */ 8 */
9 9
10#include <linux/irq.h>
11
10static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv) 12static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv)
11{ 13{
12 int last = urb_priv->length - 1; 14 int last = urb_priv->length - 1;
@@ -34,7 +36,7 @@ static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv)
34 * PRECONDITION: ohci lock held, irqs blocked. 36 * PRECONDITION: ohci lock held, irqs blocked.
35 */ 37 */
36static void 38static void
37finish_urb (struct ohci_hcd *ohci, struct urb *urb, struct pt_regs *regs) 39finish_urb (struct ohci_hcd *ohci, struct urb *urb)
38__releases(ohci->lock) 40__releases(ohci->lock)
39__acquires(ohci->lock) 41__acquires(ohci->lock)
40{ 42{
@@ -73,7 +75,7 @@ __acquires(ohci->lock)
73 75
74 /* urb->complete() can reenter this HCD */ 76 /* urb->complete() can reenter this HCD */
75 spin_unlock (&ohci->lock); 77 spin_unlock (&ohci->lock);
76 usb_hcd_giveback_urb (ohci_to_hcd(ohci), urb, regs); 78 usb_hcd_giveback_urb (ohci_to_hcd(ohci), urb);
77 spin_lock (&ohci->lock); 79 spin_lock (&ohci->lock);
78 80
79 /* stop periodic dma if it's not needed */ 81 /* stop periodic dma if it's not needed */
@@ -910,7 +912,7 @@ static struct td *dl_reverse_done_list (struct ohci_hcd *ohci)
910 912
911/* there are some urbs/eds to unlink; called in_irq(), with HCD locked */ 913/* there are some urbs/eds to unlink; called in_irq(), with HCD locked */
912static void 914static void
913finish_unlinks (struct ohci_hcd *ohci, u16 tick, struct pt_regs *regs) 915finish_unlinks (struct ohci_hcd *ohci, u16 tick)
914{ 916{
915 struct ed *ed, **last; 917 struct ed *ed, **last;
916 918
@@ -923,7 +925,7 @@ rescan_all:
923 /* only take off EDs that the HC isn't using, accounting for 925 /* only take off EDs that the HC isn't using, accounting for
924 * frame counter wraps and EDs with partially retired TDs 926 * frame counter wraps and EDs with partially retired TDs
925 */ 927 */
926 if (likely (regs && HC_IS_RUNNING(ohci_to_hcd(ohci)->state))) { 928 if (likely (get_irq_regs() && HC_IS_RUNNING(ohci_to_hcd(ohci)->state))) {
927 if (tick_before (tick, ed->tick)) { 929 if (tick_before (tick, ed->tick)) {
928skip_ed: 930skip_ed:
929 last = &ed->ed_next; 931 last = &ed->ed_next;
@@ -990,7 +992,7 @@ rescan_this:
990 /* if URB is done, clean up */ 992 /* if URB is done, clean up */
991 if (urb_priv->td_cnt == urb_priv->length) { 993 if (urb_priv->td_cnt == urb_priv->length) {
992 modified = completed = 1; 994 modified = completed = 1;
993 finish_urb (ohci, urb, regs); 995 finish_urb (ohci, urb);
994 } 996 }
995 } 997 }
996 if (completed && !list_empty (&ed->td_list)) 998 if (completed && !list_empty (&ed->td_list))
@@ -1068,7 +1070,7 @@ rescan_this:
1068 * scanning the (re-reversed) donelist as this does. 1070 * scanning the (re-reversed) donelist as this does.
1069 */ 1071 */
1070static void 1072static void
1071dl_done_list (struct ohci_hcd *ohci, struct pt_regs *regs) 1073dl_done_list (struct ohci_hcd *ohci)
1072{ 1074{
1073 struct td *td = dl_reverse_done_list (ohci); 1075 struct td *td = dl_reverse_done_list (ohci);
1074 1076
@@ -1084,7 +1086,7 @@ dl_done_list (struct ohci_hcd *ohci, struct pt_regs *regs)
1084 1086
1085 /* If all this urb's TDs are done, call complete() */ 1087 /* If all this urb's TDs are done, call complete() */
1086 if (urb_priv->td_cnt == urb_priv->length) 1088 if (urb_priv->td_cnt == urb_priv->length)
1087 finish_urb (ohci, urb, regs); 1089 finish_urb (ohci, urb);
1088 1090
1089 /* clean schedule: unlink EDs that are no longer busy */ 1091 /* clean schedule: unlink EDs that are no longer busy */
1090 if (list_empty (&ed->td_list)) { 1092 if (list_empty (&ed->td_list)) {
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index 3a586aab3939..5fa5647ea095 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -428,7 +428,6 @@ static void finish_request(
428 struct sl811 *sl811, 428 struct sl811 *sl811,
429 struct sl811h_ep *ep, 429 struct sl811h_ep *ep,
430 struct urb *urb, 430 struct urb *urb,
431 struct pt_regs *regs,
432 int status 431 int status
433) __releases(sl811->lock) __acquires(sl811->lock) 432) __releases(sl811->lock) __acquires(sl811->lock)
434{ 433{
@@ -444,7 +443,7 @@ static void finish_request(
444 spin_unlock(&urb->lock); 443 spin_unlock(&urb->lock);
445 444
446 spin_unlock(&sl811->lock); 445 spin_unlock(&sl811->lock);
447 usb_hcd_giveback_urb(sl811_to_hcd(sl811), urb, regs); 446 usb_hcd_giveback_urb(sl811_to_hcd(sl811), urb);
448 spin_lock(&sl811->lock); 447 spin_lock(&sl811->lock);
449 448
450 /* leave active endpoints in the schedule */ 449 /* leave active endpoints in the schedule */
@@ -484,7 +483,7 @@ static void finish_request(
484} 483}
485 484
486static void 485static void
487done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank, struct pt_regs *regs) 486done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank)
488{ 487{
489 u8 status; 488 u8 status;
490 struct urb *urb; 489 struct urb *urb;
@@ -608,7 +607,7 @@ done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank, struct pt_regs *regs)
608 } 607 }
609 608
610 if (urb && (urbstat != -EINPROGRESS || urb->status != -EINPROGRESS)) 609 if (urb && (urbstat != -EINPROGRESS || urb->status != -EINPROGRESS))
611 finish_request(sl811, ep, urb, regs, urbstat); 610 finish_request(sl811, ep, urb, urbstat);
612} 611}
613 612
614static inline u8 checkdone(struct sl811 *sl811) 613static inline u8 checkdone(struct sl811 *sl811)
@@ -641,7 +640,7 @@ static inline u8 checkdone(struct sl811 *sl811)
641 return irqstat; 640 return irqstat;
642} 641}
643 642
644static irqreturn_t sl811h_irq(struct usb_hcd *hcd, struct pt_regs *regs) 643static irqreturn_t sl811h_irq(struct usb_hcd *hcd)
645{ 644{
646 struct sl811 *sl811 = hcd_to_sl811(hcd); 645 struct sl811 *sl811 = hcd_to_sl811(hcd);
647 u8 irqstat; 646 u8 irqstat;
@@ -670,13 +669,13 @@ retry:
670 * issued ... that's fine if they're different endpoints. 669 * issued ... that's fine if they're different endpoints.
671 */ 670 */
672 if (irqstat & SL11H_INTMASK_DONE_A) { 671 if (irqstat & SL11H_INTMASK_DONE_A) {
673 done(sl811, sl811->active_a, SL811_EP_A(SL811_HOST_BUF), regs); 672 done(sl811, sl811->active_a, SL811_EP_A(SL811_HOST_BUF));
674 sl811->active_a = NULL; 673 sl811->active_a = NULL;
675 sl811->stat_a++; 674 sl811->stat_a++;
676 } 675 }
677#ifdef USE_B 676#ifdef USE_B
678 if (irqstat & SL11H_INTMASK_DONE_B) { 677 if (irqstat & SL11H_INTMASK_DONE_B) {
679 done(sl811, sl811->active_b, SL811_EP_B(SL811_HOST_BUF), regs); 678 done(sl811, sl811->active_b, SL811_EP_B(SL811_HOST_BUF));
680 sl811->active_b = NULL; 679 sl811->active_b = NULL;
681 sl811->stat_b++; 680 sl811->stat_b++;
682 } 681 }
@@ -723,7 +722,7 @@ retry:
723 container_of(sl811->active_a 722 container_of(sl811->active_a
724 ->hep->urb_list.next, 723 ->hep->urb_list.next,
725 struct urb, urb_list), 724 struct urb, urb_list),
726 NULL, -ESHUTDOWN); 725 -ESHUTDOWN);
727 sl811->active_a = NULL; 726 sl811->active_a = NULL;
728 } 727 }
729#ifdef USE_B 728#ifdef USE_B
@@ -957,7 +956,7 @@ static int sl811h_urb_enqueue(
957 spin_lock(&urb->lock); 956 spin_lock(&urb->lock);
958 if (urb->status != -EINPROGRESS) { 957 if (urb->status != -EINPROGRESS) {
959 spin_unlock(&urb->lock); 958 spin_unlock(&urb->lock);
960 finish_request(sl811, ep, urb, NULL, 0); 959 finish_request(sl811, ep, urb, 0);
961 retval = 0; 960 retval = 0;
962 goto fail; 961 goto fail;
963 } 962 }
@@ -1026,7 +1025,7 @@ static int sl811h_urb_dequeue(struct usb_hcd *hcd, struct urb *urb)
1026 } 1025 }
1027 1026
1028 if (urb) 1027 if (urb)
1029 finish_request(sl811, ep, urb, NULL, 0); 1028 finish_request(sl811, ep, urb, 0);
1030 else 1029 else
1031 VDBG("dequeue, urb %p active %s; wait4irq\n", urb, 1030 VDBG("dequeue, urb %p active %s; wait4irq\n", urb,
1032 (sl811->active_a == ep) ? "A" : "B"); 1031 (sl811->active_a == ep) ? "A" : "B");
@@ -1083,7 +1082,7 @@ sl811h_hub_status_data(struct usb_hcd *hcd, char *buf)
1083 */ 1082 */
1084 local_irq_save(flags); 1083 local_irq_save(flags);
1085 if (!timer_pending(&sl811->timer)) { 1084 if (!timer_pending(&sl811->timer)) {
1086 if (sl811h_irq( /* ~0, */ hcd, NULL) != IRQ_NONE) 1085 if (sl811h_irq( /* ~0, */ hcd) != IRQ_NONE)
1087 sl811->stat_lost++; 1086 sl811->stat_lost++;
1088 } 1087 }
1089 local_irq_restore(flags); 1088 local_irq_restore(flags);
diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
index 0a315200b331..32c635ecbf31 100644
--- a/drivers/usb/host/u132-hcd.c
+++ b/drivers/usb/host/u132-hcd.c
@@ -557,7 +557,7 @@ static void u132_hcd_giveback_urb(struct u132 *u132, struct u132_endp *endp,
557 u132_ring_queue_work(u132, ring, 0); 557 u132_ring_queue_work(u132, ring, 0);
558 up(&u132->scheduler_lock); 558 up(&u132->scheduler_lock);
559 u132_endp_put_kref(u132, endp); 559 u132_endp_put_kref(u132, endp);
560 usb_hcd_giveback_urb(hcd, urb, NULL); 560 usb_hcd_giveback_urb(hcd, urb);
561 return; 561 return;
562} 562}
563 563
@@ -590,7 +590,7 @@ static void u132_hcd_abandon_urb(struct u132 *u132, struct u132_endp *endp,
590 endp->active = 0; 590 endp->active = 0;
591 spin_unlock_irqrestore(&endp->queue_lock.slock, irqs); 591 spin_unlock_irqrestore(&endp->queue_lock.slock, irqs);
592 kfree(urbq); 592 kfree(urbq);
593 } usb_hcd_giveback_urb(hcd, urb, NULL); 593 } usb_hcd_giveback_urb(hcd, urb);
594 return; 594 return;
595} 595}
596 596
@@ -2434,7 +2434,7 @@ static int dequeue_from_overflow_chain(struct u132 *u132,
2434 endp->queue_size -= 1; 2434 endp->queue_size -= 1;
2435 urb->error_count = 0; 2435 urb->error_count = 0;
2436 urb->hcpriv = NULL; 2436 urb->hcpriv = NULL;
2437 usb_hcd_giveback_urb(hcd, urb, NULL); 2437 usb_hcd_giveback_urb(hcd, urb);
2438 return 0; 2438 return 0;
2439 } else 2439 } else
2440 continue; 2440 continue;
@@ -2512,7 +2512,7 @@ static int u132_endp_urb_dequeue(struct u132 *u132, struct u132_endp *endp,
2512 kfree(urbq); 2512 kfree(urbq);
2513 } urb->error_count = 0; 2513 } urb->error_count = 0;
2514 urb->hcpriv = NULL; 2514 urb->hcpriv = NULL;
2515 usb_hcd_giveback_urb(hcd, urb, NULL); 2515 usb_hcd_giveback_urb(hcd, urb);
2516 return 0; 2516 return 0;
2517 } else if (list_empty(&endp->urb_more)) { 2517 } else if (list_empty(&endp->urb_more)) {
2518 dev_err(&u132->platform_dev->dev, "urb=%p not found in " 2518 dev_err(&u132->platform_dev->dev, "urb=%p not found in "
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
index eb4eab98e8bf..45ee6920a850 100644
--- a/drivers/usb/host/uhci-hcd.c
+++ b/drivers/usb/host/uhci-hcd.c
@@ -252,7 +252,7 @@ __acquires(uhci->lock)
252 uhci->is_stopped = UHCI_IS_STOPPED; 252 uhci->is_stopped = UHCI_IS_STOPPED;
253 uhci_to_hcd(uhci)->poll_rh = !int_enable; 253 uhci_to_hcd(uhci)->poll_rh = !int_enable;
254 254
255 uhci_scan_schedule(uhci, NULL); 255 uhci_scan_schedule(uhci);
256 uhci_fsbr_off(uhci); 256 uhci_fsbr_off(uhci);
257} 257}
258 258
@@ -309,7 +309,7 @@ __acquires(uhci->lock)
309 mod_timer(&uhci_to_hcd(uhci)->rh_timer, jiffies); 309 mod_timer(&uhci_to_hcd(uhci)->rh_timer, jiffies);
310} 310}
311 311
312static irqreturn_t uhci_irq(struct usb_hcd *hcd, struct pt_regs *regs) 312static irqreturn_t uhci_irq(struct usb_hcd *hcd)
313{ 313{
314 struct uhci_hcd *uhci = hcd_to_uhci(hcd); 314 struct uhci_hcd *uhci = hcd_to_uhci(hcd);
315 unsigned short status; 315 unsigned short status;
@@ -358,7 +358,7 @@ static irqreturn_t uhci_irq(struct usb_hcd *hcd, struct pt_regs *regs)
358 usb_hcd_poll_rh_status(hcd); 358 usb_hcd_poll_rh_status(hcd);
359 else { 359 else {
360 spin_lock_irqsave(&uhci->lock, flags); 360 spin_lock_irqsave(&uhci->lock, flags);
361 uhci_scan_schedule(uhci, regs); 361 uhci_scan_schedule(uhci);
362 spin_unlock_irqrestore(&uhci->lock, flags); 362 spin_unlock_irqrestore(&uhci->lock, flags);
363 } 363 }
364 364
@@ -671,7 +671,7 @@ static void uhci_stop(struct usb_hcd *hcd)
671 spin_lock_irq(&uhci->lock); 671 spin_lock_irq(&uhci->lock);
672 if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) && !uhci->dead) 672 if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) && !uhci->dead)
673 uhci_hc_died(uhci); 673 uhci_hc_died(uhci);
674 uhci_scan_schedule(uhci, NULL); 674 uhci_scan_schedule(uhci);
675 spin_unlock_irq(&uhci->lock); 675 spin_unlock_irq(&uhci->lock);
676 676
677 del_timer_sync(&uhci->fsbr_timer); 677 del_timer_sync(&uhci->fsbr_timer);
diff --git a/drivers/usb/host/uhci-hub.c b/drivers/usb/host/uhci-hub.c
index 16fb72eb6fc9..f8347f1a10b6 100644
--- a/drivers/usb/host/uhci-hub.c
+++ b/drivers/usb/host/uhci-hub.c
@@ -176,7 +176,7 @@ static int uhci_hub_status_data(struct usb_hcd *hcd, char *buf)
176 176
177 spin_lock_irqsave(&uhci->lock, flags); 177 spin_lock_irqsave(&uhci->lock, flags);
178 178
179 uhci_scan_schedule(uhci, NULL); 179 uhci_scan_schedule(uhci);
180 if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) || uhci->dead) 180 if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) || uhci->dead)
181 goto done; 181 goto done;
182 uhci_check_ports(uhci); 182 uhci_check_ports(uhci);
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c
index 431e8f31f1a9..06115f22a4fa 100644
--- a/drivers/usb/host/uhci-q.c
+++ b/drivers/usb/host/uhci-q.c
@@ -1244,7 +1244,7 @@ done:
1244 * Finish unlinking an URB and give it back 1244 * Finish unlinking an URB and give it back
1245 */ 1245 */
1246static void uhci_giveback_urb(struct uhci_hcd *uhci, struct uhci_qh *qh, 1246static void uhci_giveback_urb(struct uhci_hcd *uhci, struct uhci_qh *qh,
1247 struct urb *urb, struct pt_regs *regs) 1247 struct urb *urb)
1248__releases(uhci->lock) 1248__releases(uhci->lock)
1249__acquires(uhci->lock) 1249__acquires(uhci->lock)
1250{ 1250{
@@ -1293,7 +1293,7 @@ __acquires(uhci->lock)
1293 } 1293 }
1294 1294
1295 spin_unlock(&uhci->lock); 1295 spin_unlock(&uhci->lock);
1296 usb_hcd_giveback_urb(uhci_to_hcd(uhci), urb, regs); 1296 usb_hcd_giveback_urb(uhci_to_hcd(uhci), urb);
1297 spin_lock(&uhci->lock); 1297 spin_lock(&uhci->lock);
1298 1298
1299 /* If the queue is now empty, we can unlink the QH and give up its 1299 /* If the queue is now empty, we can unlink the QH and give up its
@@ -1313,8 +1313,7 @@ __acquires(uhci->lock)
1313 (qh->state == QH_STATE_UNLINKING && \ 1313 (qh->state == QH_STATE_UNLINKING && \
1314 uhci->frame_number + uhci->is_stopped != qh->unlink_frame) 1314 uhci->frame_number + uhci->is_stopped != qh->unlink_frame)
1315 1315
1316static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, 1316static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh)
1317 struct pt_regs *regs)
1318{ 1317{
1319 struct urb_priv *urbp; 1318 struct urb_priv *urbp;
1320 struct urb *urb; 1319 struct urb *urb;
@@ -1347,7 +1346,7 @@ static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh,
1347 return; 1346 return;
1348 } 1347 }
1349 1348
1350 uhci_giveback_urb(uhci, qh, urb, regs); 1349 uhci_giveback_urb(uhci, qh, urb);
1351 if (status < 0 && qh->type != USB_ENDPOINT_XFER_ISOC) 1350 if (status < 0 && qh->type != USB_ENDPOINT_XFER_ISOC)
1352 break; 1351 break;
1353 } 1352 }
@@ -1372,7 +1371,7 @@ restart:
1372 qh->is_stopped = 0; 1371 qh->is_stopped = 0;
1373 return; 1372 return;
1374 } 1373 }
1375 uhci_giveback_urb(uhci, qh, urb, regs); 1374 uhci_giveback_urb(uhci, qh, urb);
1376 goto restart; 1375 goto restart;
1377 } 1376 }
1378 } 1377 }
@@ -1487,7 +1486,7 @@ done:
1487/* 1486/*
1488 * Process events in the schedule, but only in one thread at a time 1487 * Process events in the schedule, but only in one thread at a time
1489 */ 1488 */
1490static void uhci_scan_schedule(struct uhci_hcd *uhci, struct pt_regs *regs) 1489static void uhci_scan_schedule(struct uhci_hcd *uhci)
1491{ 1490{
1492 int i; 1491 int i;
1493 struct uhci_qh *qh; 1492 struct uhci_qh *qh;
@@ -1515,7 +1514,7 @@ rescan:
1515 struct uhci_qh, node); 1514 struct uhci_qh, node);
1516 1515
1517 if (uhci_advance_check(uhci, qh)) { 1516 if (uhci_advance_check(uhci, qh)) {
1518 uhci_scan_qh(uhci, qh, regs); 1517 uhci_scan_qh(uhci, qh);
1519 if (qh->state == QH_STATE_ACTIVE) { 1518 if (qh->state == QH_STATE_ACTIVE) {
1520 uhci_urbp_wants_fsbr(uhci, 1519 uhci_urbp_wants_fsbr(uhci,
1521 list_entry(qh->queue.next, struct urb_priv, node)); 1520 list_entry(qh->queue.next, struct urb_priv, node));
diff --git a/drivers/usb/image/mdc800.c b/drivers/usb/image/mdc800.c
index ca6305c1d64c..63a84bbc310d 100644
--- a/drivers/usb/image/mdc800.c
+++ b/drivers/usb/image/mdc800.c
@@ -280,7 +280,7 @@ static int mdc800_isReady (char *ch)
280/* 280/*
281 * USB IRQ Handler for InputLine 281 * USB IRQ Handler for InputLine
282 */ 282 */
283static void mdc800_usb_irq (struct urb *urb, struct pt_regs *res) 283static void mdc800_usb_irq (struct urb *urb)
284{ 284{
285 int data_received=0, wake_up; 285 int data_received=0, wake_up;
286 unsigned char* b=urb->transfer_buffer; 286 unsigned char* b=urb->transfer_buffer;
@@ -374,7 +374,7 @@ static int mdc800_usb_waitForIRQ (int mode, int msec)
374/* 374/*
375 * The write_urb callback function 375 * The write_urb callback function
376 */ 376 */
377static void mdc800_usb_write_notify (struct urb *urb, struct pt_regs *res) 377static void mdc800_usb_write_notify (struct urb *urb)
378{ 378{
379 struct mdc800_data* mdc800=urb->context; 379 struct mdc800_data* mdc800=urb->context;
380 380
@@ -394,7 +394,7 @@ static void mdc800_usb_write_notify (struct urb *urb, struct pt_regs *res)
394/* 394/*
395 * The download_urb callback function 395 * The download_urb callback function
396 */ 396 */
397static void mdc800_usb_download_notify (struct urb *urb, struct pt_regs *res) 397static void mdc800_usb_download_notify (struct urb *urb)
398{ 398{
399 struct mdc800_data* mdc800=urb->context; 399 struct mdc800_data* mdc800=urb->context;
400 400
diff --git a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c
index 5f861331932a..3038ed0700d3 100644
--- a/drivers/usb/image/microtek.c
+++ b/drivers/usb/image/microtek.c
@@ -370,7 +370,7 @@ static int
370mts_scsi_queuecommand(struct scsi_cmnd *srb, mts_scsi_cmnd_callback callback); 370mts_scsi_queuecommand(struct scsi_cmnd *srb, mts_scsi_cmnd_callback callback);
371 371
372static void mts_transfer_cleanup( struct urb *transfer ); 372static void mts_transfer_cleanup( struct urb *transfer );
373static void mts_do_sg(struct urb * transfer, struct pt_regs *regs); 373static void mts_do_sg(struct urb * transfer);
374 374
375static inline 375static inline
376void mts_int_submit_urb (struct urb* transfer, 376void mts_int_submit_urb (struct urb* transfer,
@@ -417,7 +417,7 @@ static void mts_transfer_cleanup( struct urb *transfer )
417 417
418} 418}
419 419
420static void mts_transfer_done( struct urb *transfer, struct pt_regs *regs ) 420static void mts_transfer_done( struct urb *transfer )
421{ 421{
422 MTS_INT_INIT(); 422 MTS_INT_INIT();
423 423
@@ -443,7 +443,7 @@ static void mts_get_status( struct urb *transfer )
443 mts_transfer_done ); 443 mts_transfer_done );
444} 444}
445 445
446static void mts_data_done( struct urb* transfer, struct pt_regs *regs ) 446static void mts_data_done( struct urb* transfer )
447/* Interrupt context! */ 447/* Interrupt context! */
448{ 448{
449 MTS_INT_INIT(); 449 MTS_INT_INIT();
@@ -460,7 +460,7 @@ static void mts_data_done( struct urb* transfer, struct pt_regs *regs )
460} 460}
461 461
462 462
463static void mts_command_done( struct urb *transfer, struct pt_regs *regs ) 463static void mts_command_done( struct urb *transfer )
464/* Interrupt context! */ 464/* Interrupt context! */
465{ 465{
466 MTS_INT_INIT(); 466 MTS_INT_INIT();
@@ -501,7 +501,7 @@ static void mts_command_done( struct urb *transfer, struct pt_regs *regs )
501 return; 501 return;
502} 502}
503 503
504static void mts_do_sg (struct urb* transfer, struct pt_regs *regs) 504static void mts_do_sg (struct urb* transfer)
505{ 505{
506 struct scatterlist * sg; 506 struct scatterlist * sg;
507 MTS_INT_INIT(); 507 MTS_INT_INIT();
diff --git a/drivers/usb/input/acecad.c b/drivers/usb/input/acecad.c
index d83603ba40ae..0096373b5f98 100644
--- a/drivers/usb/input/acecad.c
+++ b/drivers/usb/input/acecad.c
@@ -58,7 +58,7 @@ struct usb_acecad {
58 dma_addr_t data_dma; 58 dma_addr_t data_dma;
59}; 59};
60 60
61static void usb_acecad_irq(struct urb *urb, struct pt_regs *regs) 61static void usb_acecad_irq(struct urb *urb)
62{ 62{
63 struct usb_acecad *acecad = urb->context; 63 struct usb_acecad *acecad = urb->context;
64 unsigned char *data = acecad->data; 64 unsigned char *data = acecad->data;
diff --git a/drivers/usb/input/aiptek.c b/drivers/usb/input/aiptek.c
index b138dae2b055..bf428184608f 100644
--- a/drivers/usb/input/aiptek.c
+++ b/drivers/usb/input/aiptek.c
@@ -396,7 +396,7 @@ static int aiptek_convert_from_2s_complement(unsigned char c)
396 * replaced with the input_sync() method (which emits EV_SYN.) 396 * replaced with the input_sync() method (which emits EV_SYN.)
397 */ 397 */
398 398
399static void aiptek_irq(struct urb *urb, struct pt_regs *regs) 399static void aiptek_irq(struct urb *urb)
400{ 400{
401 struct aiptek *aiptek = urb->context; 401 struct aiptek *aiptek = urb->context;
402 unsigned char *data = aiptek->data; 402 unsigned char *data = aiptek->data;
@@ -442,8 +442,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)
442 aiptek->diagnostic = 442 aiptek->diagnostic =
443 AIPTEK_DIAGNOSTIC_SENDING_RELATIVE_IN_ABSOLUTE; 443 AIPTEK_DIAGNOSTIC_SENDING_RELATIVE_IN_ABSOLUTE;
444 } else { 444 } else {
445 input_regs(inputdev, regs);
446
447 x = aiptek_convert_from_2s_complement(data[2]); 445 x = aiptek_convert_from_2s_complement(data[2]);
448 y = aiptek_convert_from_2s_complement(data[3]); 446 y = aiptek_convert_from_2s_complement(data[3]);
449 447
@@ -488,8 +486,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)
488 (aiptek->curSetting.pointerMode)) { 486 (aiptek->curSetting.pointerMode)) {
489 aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED; 487 aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED;
490 } else { 488 } else {
491 input_regs(inputdev, regs);
492
493 x = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); 489 x = le16_to_cpu(get_unaligned((__le16 *) (data + 1)));
494 y = le16_to_cpu(get_unaligned((__le16 *) (data + 3))); 490 y = le16_to_cpu(get_unaligned((__le16 *) (data + 3)));
495 z = le16_to_cpu(get_unaligned((__le16 *) (data + 6))); 491 z = le16_to_cpu(get_unaligned((__le16 *) (data + 6)));
@@ -568,7 +564,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)
568 (aiptek->curSetting.pointerMode)) { 564 (aiptek->curSetting.pointerMode)) {
569 aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED; 565 aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED;
570 } else { 566 } else {
571 input_regs(inputdev, regs);
572 x = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); 567 x = le16_to_cpu(get_unaligned((__le16 *) (data + 1)));
573 y = le16_to_cpu(get_unaligned((__le16 *) (data + 3))); 568 y = le16_to_cpu(get_unaligned((__le16 *) (data + 3)));
574 569
@@ -631,8 +626,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)
631 z = le16_to_cpu(get_unaligned((__le16 *) (data + 4))); 626 z = le16_to_cpu(get_unaligned((__le16 *) (data + 4)));
632 627
633 if (dv != 0) { 628 if (dv != 0) {
634 input_regs(inputdev, regs);
635
636 /* If we've not already sent a tool_button_?? code, do 629 /* If we've not already sent a tool_button_?? code, do
637 * so now. Then set FIRED_BIT so it won't be resent unless 630 * so now. Then set FIRED_BIT so it won't be resent unless
638 * the user forces FIRED_BIT off. 631 * the user forces FIRED_BIT off.
@@ -681,8 +674,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)
681 macro = data[3]; 674 macro = data[3];
682 675
683 if (dv != 0) { 676 if (dv != 0) {
684 input_regs(inputdev, regs);
685
686 /* If we've not already sent a tool_button_?? code, do 677 /* If we've not already sent a tool_button_?? code, do
687 * so now. Then set FIRED_BIT so it won't be resent unless 678 * so now. Then set FIRED_BIT so it won't be resent unless
688 * the user forces FIRED_BIT off. 679 * the user forces FIRED_BIT off.
@@ -726,8 +717,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)
726 */ 717 */
727 else if (data[0] == 6) { 718 else if (data[0] == 6) {
728 macro = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); 719 macro = le16_to_cpu(get_unaligned((__le16 *) (data + 1)));
729 input_regs(inputdev, regs);
730
731 if (macro > 0) { 720 if (macro > 0) {
732 input_report_key(inputdev, macroKeyEvents[macro - 1], 721 input_report_key(inputdev, macroKeyEvents[macro - 1],
733 0); 722 0);
diff --git a/drivers/usb/input/appletouch.c b/drivers/usb/input/appletouch.c
index 0aa9cc2bfd69..4c213513484d 100644
--- a/drivers/usb/input/appletouch.c
+++ b/drivers/usb/input/appletouch.c
@@ -210,7 +210,7 @@ static inline void atp_report_fingers(struct input_dev *input, int fingers)
210 input_report_key(input, BTN_TOOL_TRIPLETAP, fingers > 2); 210 input_report_key(input, BTN_TOOL_TRIPLETAP, fingers > 2);
211} 211}
212 212
213static void atp_complete(struct urb* urb, struct pt_regs* regs) 213static void atp_complete(struct urb* urb)
214{ 214{
215 int x, y, x_z, y_z, x_f, y_f; 215 int x, y, x_z, y_z, x_f, y_f;
216 int retval, i, j; 216 int retval, i, j;
diff --git a/drivers/usb/input/ati_remote.c b/drivers/usb/input/ati_remote.c
index 3558d7ed99b9..f659f3028ad2 100644
--- a/drivers/usb/input/ati_remote.c
+++ b/drivers/usb/input/ati_remote.c
@@ -283,9 +283,9 @@ static void ati_remote_dump (unsigned char *data, unsigned int actual_length);
283static int ati_remote_open (struct input_dev *inputdev); 283static int ati_remote_open (struct input_dev *inputdev);
284static void ati_remote_close (struct input_dev *inputdev); 284static void ati_remote_close (struct input_dev *inputdev);
285static int ati_remote_sendpacket (struct ati_remote *ati_remote, u16 cmd, unsigned char *data); 285static int ati_remote_sendpacket (struct ati_remote *ati_remote, u16 cmd, unsigned char *data);
286static void ati_remote_irq_out (struct urb *urb, struct pt_regs *regs); 286static void ati_remote_irq_out (struct urb *urb);
287static void ati_remote_irq_in (struct urb *urb, struct pt_regs *regs); 287static void ati_remote_irq_in (struct urb *urb);
288static void ati_remote_input_report (struct urb *urb, struct pt_regs *regs); 288static void ati_remote_input_report (struct urb *urb);
289static int ati_remote_initialize (struct ati_remote *ati_remote); 289static int ati_remote_initialize (struct ati_remote *ati_remote);
290static int ati_remote_probe (struct usb_interface *interface, const struct usb_device_id *id); 290static int ati_remote_probe (struct usb_interface *interface, const struct usb_device_id *id);
291static void ati_remote_disconnect (struct usb_interface *interface); 291static void ati_remote_disconnect (struct usb_interface *interface);
@@ -344,7 +344,7 @@ static void ati_remote_close(struct input_dev *inputdev)
344/* 344/*
345 * ati_remote_irq_out 345 * ati_remote_irq_out
346 */ 346 */
347static void ati_remote_irq_out(struct urb *urb, struct pt_regs *regs) 347static void ati_remote_irq_out(struct urb *urb)
348{ 348{
349 struct ati_remote *ati_remote = urb->context; 349 struct ati_remote *ati_remote = urb->context;
350 350
@@ -453,7 +453,7 @@ static int ati_remote_compute_accel(struct ati_remote *ati_remote)
453/* 453/*
454 * ati_remote_report_input 454 * ati_remote_report_input
455 */ 455 */
456static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs) 456static void ati_remote_input_report(struct urb *urb)
457{ 457{
458 struct ati_remote *ati_remote = urb->context; 458 struct ati_remote *ati_remote = urb->context;
459 unsigned char *data= ati_remote->inbuf; 459 unsigned char *data= ati_remote->inbuf;
@@ -491,7 +491,6 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)
491 remote_num, data[1], data[2], index, ati_remote_tbl[index].code); 491 remote_num, data[1], data[2], index, ati_remote_tbl[index].code);
492 492
493 if (ati_remote_tbl[index].kind == KIND_LITERAL) { 493 if (ati_remote_tbl[index].kind == KIND_LITERAL) {
494 input_regs(dev, regs);
495 input_event(dev, ati_remote_tbl[index].type, 494 input_event(dev, ati_remote_tbl[index].type,
496 ati_remote_tbl[index].code, 495 ati_remote_tbl[index].code,
497 ati_remote_tbl[index].value); 496 ati_remote_tbl[index].value);
@@ -520,7 +519,6 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)
520 return; 519 return;
521 520
522 521
523 input_regs(dev, regs);
524 input_event(dev, ati_remote_tbl[index].type, 522 input_event(dev, ati_remote_tbl[index].type,
525 ati_remote_tbl[index].code, 1); 523 ati_remote_tbl[index].code, 1);
526 input_sync(dev); 524 input_sync(dev);
@@ -537,7 +535,6 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)
537 */ 535 */
538 acc = ati_remote_compute_accel(ati_remote); 536 acc = ati_remote_compute_accel(ati_remote);
539 537
540 input_regs(dev, regs);
541 switch (ati_remote_tbl[index].kind) { 538 switch (ati_remote_tbl[index].kind) {
542 case KIND_ACCEL: 539 case KIND_ACCEL:
543 input_event(dev, ati_remote_tbl[index].type, 540 input_event(dev, ati_remote_tbl[index].type,
@@ -575,14 +572,14 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)
575/* 572/*
576 * ati_remote_irq_in 573 * ati_remote_irq_in
577 */ 574 */
578static void ati_remote_irq_in(struct urb *urb, struct pt_regs *regs) 575static void ati_remote_irq_in(struct urb *urb)
579{ 576{
580 struct ati_remote *ati_remote = urb->context; 577 struct ati_remote *ati_remote = urb->context;
581 int retval; 578 int retval;
582 579
583 switch (urb->status) { 580 switch (urb->status) {
584 case 0: /* success */ 581 case 0: /* success */
585 ati_remote_input_report(urb, regs); 582 ati_remote_input_report(urb);
586 break; 583 break;
587 case -ECONNRESET: /* unlink */ 584 case -ECONNRESET: /* unlink */
588 case -ENOENT: 585 case -ENOENT:
diff --git a/drivers/usb/input/ati_remote2.c b/drivers/usb/input/ati_remote2.c
index ea71de81ca6b..f982a2b4a7f9 100644
--- a/drivers/usb/input/ati_remote2.c
+++ b/drivers/usb/input/ati_remote2.c
@@ -142,7 +142,7 @@ static void ati_remote2_close(struct input_dev *idev)
142 usb_kill_urb(ar2->urb[1]); 142 usb_kill_urb(ar2->urb[1]);
143} 143}
144 144
145static void ati_remote2_input_mouse(struct ati_remote2 *ar2, struct pt_regs *regs) 145static void ati_remote2_input_mouse(struct ati_remote2 *ar2)
146{ 146{
147 struct input_dev *idev = ar2->idev; 147 struct input_dev *idev = ar2->idev;
148 u8 *data = ar2->buf[0]; 148 u8 *data = ar2->buf[0];
@@ -157,7 +157,6 @@ static void ati_remote2_input_mouse(struct ati_remote2 *ar2, struct pt_regs *reg
157 if (!((1 << data[0]) & mode_mask)) 157 if (!((1 << data[0]) & mode_mask))
158 return; 158 return;
159 159
160 input_regs(idev, regs);
161 input_event(idev, EV_REL, REL_X, (s8) data[1]); 160 input_event(idev, EV_REL, REL_X, (s8) data[1]);
162 input_event(idev, EV_REL, REL_Y, (s8) data[2]); 161 input_event(idev, EV_REL, REL_Y, (s8) data[2]);
163 input_sync(idev); 162 input_sync(idev);
@@ -174,7 +173,7 @@ static int ati_remote2_lookup(unsigned int hw_code)
174 return -1; 173 return -1;
175} 174}
176 175
177static void ati_remote2_input_key(struct ati_remote2 *ar2, struct pt_regs *regs) 176static void ati_remote2_input_key(struct ati_remote2 *ar2)
178{ 177{
179 struct input_dev *idev = ar2->idev; 178 struct input_dev *idev = ar2->idev;
180 u8 *data = ar2->buf[1]; 179 u8 *data = ar2->buf[1];
@@ -245,19 +244,18 @@ static void ati_remote2_input_key(struct ati_remote2 *ar2, struct pt_regs *regs)
245 return; 244 return;
246 } 245 }
247 246
248 input_regs(idev, regs);
249 input_event(idev, EV_KEY, ati_remote2_key_table[index].key_code, data[1]); 247 input_event(idev, EV_KEY, ati_remote2_key_table[index].key_code, data[1]);
250 input_sync(idev); 248 input_sync(idev);
251} 249}
252 250
253static void ati_remote2_complete_mouse(struct urb *urb, struct pt_regs *regs) 251static void ati_remote2_complete_mouse(struct urb *urb)
254{ 252{
255 struct ati_remote2 *ar2 = urb->context; 253 struct ati_remote2 *ar2 = urb->context;
256 int r; 254 int r;
257 255
258 switch (urb->status) { 256 switch (urb->status) {
259 case 0: 257 case 0:
260 ati_remote2_input_mouse(ar2, regs); 258 ati_remote2_input_mouse(ar2);
261 break; 259 break;
262 case -ENOENT: 260 case -ENOENT:
263 case -EILSEQ: 261 case -EILSEQ:
@@ -277,14 +275,14 @@ static void ati_remote2_complete_mouse(struct urb *urb, struct pt_regs *regs)
277 "%s(): usb_submit_urb() = %d\n", __FUNCTION__, r); 275 "%s(): usb_submit_urb() = %d\n", __FUNCTION__, r);
278} 276}
279 277
280static void ati_remote2_complete_key(struct urb *urb, struct pt_regs *regs) 278static void ati_remote2_complete_key(struct urb *urb)
281{ 279{
282 struct ati_remote2 *ar2 = urb->context; 280 struct ati_remote2 *ar2 = urb->context;
283 int r; 281 int r;
284 282
285 switch (urb->status) { 283 switch (urb->status) {
286 case 0: 284 case 0:
287 ati_remote2_input_key(ar2, regs); 285 ati_remote2_input_key(ar2);
288 break; 286 break;
289 case -ENOENT: 287 case -ENOENT:
290 case -EILSEQ: 288 case -EILSEQ:
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c
index e0fd11605b43..a6738a83ff5b 100644
--- a/drivers/usb/input/hid-core.c
+++ b/drivers/usb/input/hid-core.c
@@ -780,13 +780,13 @@ static __inline__ int search(__s32 *array, __s32 value, unsigned n)
780 return -1; 780 return -1;
781} 781}
782 782
783static void hid_process_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, int interrupt, struct pt_regs *regs) 783static void hid_process_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, int interrupt)
784{ 784{
785 hid_dump_input(usage, value); 785 hid_dump_input(usage, value);
786 if (hid->claimed & HID_CLAIMED_INPUT) 786 if (hid->claimed & HID_CLAIMED_INPUT)
787 hidinput_hid_event(hid, field, usage, value, regs); 787 hidinput_hid_event(hid, field, usage, value);
788 if (hid->claimed & HID_CLAIMED_HIDDEV && interrupt) 788 if (hid->claimed & HID_CLAIMED_HIDDEV && interrupt)
789 hiddev_hid_event(hid, field, usage, value, regs); 789 hiddev_hid_event(hid, field, usage, value);
790} 790}
791 791
792/* 792/*
@@ -795,7 +795,7 @@ static void hid_process_event(struct hid_device *hid, struct hid_field *field, s
795 * reporting to the layer). 795 * reporting to the layer).
796 */ 796 */
797 797
798static void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt, struct pt_regs *regs) 798static void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt)
799{ 799{
800 unsigned n; 800 unsigned n;
801 unsigned count = field->report_count; 801 unsigned count = field->report_count;
@@ -822,19 +822,19 @@ static void hid_input_field(struct hid_device *hid, struct hid_field *field, __u
822 for (n = 0; n < count; n++) { 822 for (n = 0; n < count; n++) {
823 823
824 if (HID_MAIN_ITEM_VARIABLE & field->flags) { 824 if (HID_MAIN_ITEM_VARIABLE & field->flags) {
825 hid_process_event(hid, field, &field->usage[n], value[n], interrupt, regs); 825 hid_process_event(hid, field, &field->usage[n], value[n], interrupt);
826 continue; 826 continue;
827 } 827 }
828 828
829 if (field->value[n] >= min && field->value[n] <= max 829 if (field->value[n] >= min && field->value[n] <= max
830 && field->usage[field->value[n] - min].hid 830 && field->usage[field->value[n] - min].hid
831 && search(value, field->value[n], count)) 831 && search(value, field->value[n], count))
832 hid_process_event(hid, field, &field->usage[field->value[n] - min], 0, interrupt, regs); 832 hid_process_event(hid, field, &field->usage[field->value[n] - min], 0, interrupt);
833 833
834 if (value[n] >= min && value[n] <= max 834 if (value[n] >= min && value[n] <= max
835 && field->usage[value[n] - min].hid 835 && field->usage[value[n] - min].hid
836 && search(field->value, value[n], count)) 836 && search(field->value, value[n], count))
837 hid_process_event(hid, field, &field->usage[value[n] - min], 1, interrupt, regs); 837 hid_process_event(hid, field, &field->usage[value[n] - min], 1, interrupt);
838 } 838 }
839 839
840 memcpy(field->value, value, count * sizeof(__s32)); 840 memcpy(field->value, value, count * sizeof(__s32));
@@ -842,7 +842,7 @@ exit:
842 kfree(value); 842 kfree(value);
843} 843}
844 844
845static int hid_input_report(int type, struct urb *urb, int interrupt, struct pt_regs *regs) 845static int hid_input_report(int type, struct urb *urb, int interrupt)
846{ 846{
847 struct hid_device *hid = urb->context; 847 struct hid_device *hid = urb->context;
848 struct hid_report_enum *report_enum = hid->report_enum + type; 848 struct hid_report_enum *report_enum = hid->report_enum + type;
@@ -892,7 +892,7 @@ static int hid_input_report(int type, struct urb *urb, int interrupt, struct pt_
892 hiddev_report_event(hid, report); 892 hiddev_report_event(hid, report);
893 893
894 for (n = 0; n < report->maxfield; n++) 894 for (n = 0; n < report->maxfield; n++)
895 hid_input_field(hid, report->field[n], data, interrupt, regs); 895 hid_input_field(hid, report->field[n], data, interrupt);
896 896
897 if (hid->claimed & HID_CLAIMED_INPUT) 897 if (hid->claimed & HID_CLAIMED_INPUT)
898 hidinput_report_event(hid, report); 898 hidinput_report_event(hid, report);
@@ -1004,7 +1004,7 @@ done:
1004 * Input interrupt completion handler. 1004 * Input interrupt completion handler.
1005 */ 1005 */
1006 1006
1007static void hid_irq_in(struct urb *urb, struct pt_regs *regs) 1007static void hid_irq_in(struct urb *urb)
1008{ 1008{
1009 struct hid_device *hid = urb->context; 1009 struct hid_device *hid = urb->context;
1010 int status; 1010 int status;
@@ -1012,7 +1012,7 @@ static void hid_irq_in(struct urb *urb, struct pt_regs *regs)
1012 switch (urb->status) { 1012 switch (urb->status) {
1013 case 0: /* success */ 1013 case 0: /* success */
1014 hid->retry_delay = 0; 1014 hid->retry_delay = 0;
1015 hid_input_report(HID_INPUT_REPORT, urb, 1, regs); 1015 hid_input_report(HID_INPUT_REPORT, urb, 1);
1016 break; 1016 break;
1017 case -ECONNRESET: /* unlink */ 1017 case -ECONNRESET: /* unlink */
1018 case -ENOENT: 1018 case -ENOENT:
@@ -1193,7 +1193,7 @@ static int hid_submit_ctrl(struct hid_device *hid)
1193 * Output interrupt completion handler. 1193 * Output interrupt completion handler.
1194 */ 1194 */
1195 1195
1196static void hid_irq_out(struct urb *urb, struct pt_regs *regs) 1196static void hid_irq_out(struct urb *urb)
1197{ 1197{
1198 struct hid_device *hid = urb->context; 1198 struct hid_device *hid = urb->context;
1199 unsigned long flags; 1199 unsigned long flags;
@@ -1238,7 +1238,7 @@ static void hid_irq_out(struct urb *urb, struct pt_regs *regs)
1238 * Control pipe completion handler. 1238 * Control pipe completion handler.
1239 */ 1239 */
1240 1240
1241static void hid_ctrl(struct urb *urb, struct pt_regs *regs) 1241static void hid_ctrl(struct urb *urb)
1242{ 1242{
1243 struct hid_device *hid = urb->context; 1243 struct hid_device *hid = urb->context;
1244 unsigned long flags; 1244 unsigned long flags;
@@ -1249,7 +1249,7 @@ static void hid_ctrl(struct urb *urb, struct pt_regs *regs)
1249 switch (urb->status) { 1249 switch (urb->status) {
1250 case 0: /* success */ 1250 case 0: /* success */
1251 if (hid->ctrl[hid->ctrltail].dir == USB_DIR_IN) 1251 if (hid->ctrl[hid->ctrltail].dir == USB_DIR_IN)
1252 hid_input_report(hid->ctrl[hid->ctrltail].report->type, urb, 0, regs); 1252 hid_input_report(hid->ctrl[hid->ctrltail].report->type, urb, 0);
1253 break; 1253 break;
1254 case -ESHUTDOWN: /* unplug */ 1254 case -ESHUTDOWN: /* unplug */
1255 unplug = 1; 1255 unplug = 1;
diff --git a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c
index 4c62afbeb430..9a808a3b4d37 100644
--- a/drivers/usb/input/hid-input.c
+++ b/drivers/usb/input/hid-input.c
@@ -613,7 +613,7 @@ ignore:
613 return; 613 return;
614} 614}
615 615
616void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs) 616void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value)
617{ 617{
618 struct input_dev *input; 618 struct input_dev *input;
619 int *quirks = &hid->quirks; 619 int *quirks = &hid->quirks;
@@ -623,8 +623,6 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
623 623
624 input = field->hidinput->input; 624 input = field->hidinput->input;
625 625
626 input_regs(input, regs);
627
628 if (!usage->type) 626 if (!usage->type)
629 return; 627 return;
630 628
diff --git a/drivers/usb/input/hid.h b/drivers/usb/input/hid.h
index b03fd9b075df..9b50effef758 100644
--- a/drivers/usb/input/hid.h
+++ b/drivers/usb/input/hid.h
@@ -499,13 +499,13 @@ struct hid_descriptor {
499/* Applications from HID Usage Tables 4/8/99 Version 1.1 */ 499/* Applications from HID Usage Tables 4/8/99 Version 1.1 */
500/* We ignore a few input applications that are not widely used */ 500/* We ignore a few input applications that are not widely used */
501#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001)) 501#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001))
502extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32, struct pt_regs *regs); 502extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);
503extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report); 503extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report);
504extern int hidinput_connect(struct hid_device *); 504extern int hidinput_connect(struct hid_device *);
505extern void hidinput_disconnect(struct hid_device *); 505extern void hidinput_disconnect(struct hid_device *);
506#else 506#else
507#define IS_INPUT_APPLICATION(a) (0) 507#define IS_INPUT_APPLICATION(a) (0)
508static inline void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs) { } 508static inline void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value) { }
509static inline void hidinput_report_event(struct hid_device *hid, struct hid_report *report) { } 509static inline void hidinput_report_event(struct hid_device *hid, struct hid_report *report) { }
510static inline int hidinput_connect(struct hid_device *hid) { return -ENODEV; } 510static inline int hidinput_connect(struct hid_device *hid) { return -ENODEV; }
511static inline void hidinput_disconnect(struct hid_device *hid) { } 511static inline void hidinput_disconnect(struct hid_device *hid) { }
diff --git a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c
index a2b419d13740..7dc14d0cacc1 100644
--- a/drivers/usb/input/hiddev.c
+++ b/drivers/usb/input/hiddev.c
@@ -179,7 +179,7 @@ static void hiddev_send_event(struct hid_device *hid,
179 * the interrupt pipe 179 * the interrupt pipe
180 */ 180 */
181void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, 181void hiddev_hid_event(struct hid_device *hid, struct hid_field *field,
182 struct hid_usage *usage, __s32 value, struct pt_regs *regs) 182 struct hid_usage *usage, __s32 value)
183{ 183{
184 unsigned type = field->report_type; 184 unsigned type = field->report_type;
185 struct hiddev_usage_ref uref; 185 struct hiddev_usage_ref uref;
diff --git a/drivers/usb/input/itmtouch.c b/drivers/usb/input/itmtouch.c
index f3e3080de5b5..aac968aab860 100644
--- a/drivers/usb/input/itmtouch.c
+++ b/drivers/usb/input/itmtouch.c
@@ -80,7 +80,7 @@ static struct usb_device_id itmtouch_ids [] = {
80 { } 80 { }
81}; 81};
82 82
83static void itmtouch_irq(struct urb *urb, struct pt_regs *regs) 83static void itmtouch_irq(struct urb *urb)
84{ 84{
85 struct itmtouch_dev *itmtouch = urb->context; 85 struct itmtouch_dev *itmtouch = urb->context;
86 unsigned char *data = urb->transfer_buffer; 86 unsigned char *data = urb->transfer_buffer;
@@ -109,8 +109,6 @@ static void itmtouch_irq(struct urb *urb, struct pt_regs *regs)
109 goto exit; 109 goto exit;
110 } 110 }
111 111
112 input_regs(dev, regs);
113
114 /* if pressure has been released, then don't report X/Y */ 112 /* if pressure has been released, then don't report X/Y */
115 if (!(data[7] & 0x20)) { 113 if (!(data[7] & 0x20)) {
116 input_report_abs(dev, ABS_X, (data[0] & 0x1F) << 7 | (data[3] & 0x7F)); 114 input_report_abs(dev, ABS_X, (data[0] & 0x1F) << 7 | (data[3] & 0x7F));
diff --git a/drivers/usb/input/kbtab.c b/drivers/usb/input/kbtab.c
index 604ade356ead..fedbcb127c21 100644
--- a/drivers/usb/input/kbtab.c
+++ b/drivers/usb/input/kbtab.c
@@ -41,7 +41,7 @@ struct kbtab {
41 char phys[32]; 41 char phys[32];
42}; 42};
43 43
44static void kbtab_irq(struct urb *urb, struct pt_regs *regs) 44static void kbtab_irq(struct urb *urb)
45{ 45{
46 struct kbtab *kbtab = urb->context; 46 struct kbtab *kbtab = urb->context;
47 unsigned char *data = kbtab->data; 47 unsigned char *data = kbtab->data;
diff --git a/drivers/usb/input/keyspan_remote.c b/drivers/usb/input/keyspan_remote.c
index a90359551575..50aa8108a50b 100644
--- a/drivers/usb/input/keyspan_remote.c
+++ b/drivers/usb/input/keyspan_remote.c
@@ -176,7 +176,7 @@ static int keyspan_load_tester(struct usb_keyspan* dev, int bits_needed)
176/* 176/*
177 * Routine that handles all the logic needed to parse out the message from the remote. 177 * Routine that handles all the logic needed to parse out the message from the remote.
178 */ 178 */
179static void keyspan_check_data(struct usb_keyspan *remote, struct pt_regs *regs) 179static void keyspan_check_data(struct usb_keyspan *remote)
180{ 180{
181 int i; 181 int i;
182 int found = 0; 182 int found = 0;
@@ -311,7 +311,6 @@ static void keyspan_check_data(struct usb_keyspan *remote, struct pt_regs *regs)
311 __FUNCTION__, message.system, message.button, message.toggle); 311 __FUNCTION__, message.system, message.button, message.toggle);
312 312
313 if (message.toggle != remote->toggle) { 313 if (message.toggle != remote->toggle) {
314 input_regs(remote->input, regs);
315 input_report_key(remote->input, keyspan_key_table[message.button], 1); 314 input_report_key(remote->input, keyspan_key_table[message.button], 1);
316 input_report_key(remote->input, keyspan_key_table[message.button], 0); 315 input_report_key(remote->input, keyspan_key_table[message.button], 0);
317 input_sync(remote->input); 316 input_sync(remote->input);
@@ -361,7 +360,7 @@ static int keyspan_setup(struct usb_device* dev)
361/* 360/*
362 * Routine used to handle a new message that has come in. 361 * Routine used to handle a new message that has come in.
363 */ 362 */
364static void keyspan_irq_recv(struct urb *urb, struct pt_regs *regs) 363static void keyspan_irq_recv(struct urb *urb)
365{ 364{
366 struct usb_keyspan *dev = urb->context; 365 struct usb_keyspan *dev = urb->context;
367 int retval; 366 int retval;
@@ -385,7 +384,7 @@ static void keyspan_irq_recv(struct urb *urb, struct pt_regs *regs)
385 if (debug) 384 if (debug)
386 keyspan_print(dev); 385 keyspan_print(dev);
387 386
388 keyspan_check_data(dev, regs); 387 keyspan_check_data(dev);
389 388
390resubmit: 389resubmit:
391 retval = usb_submit_urb(urb, GFP_ATOMIC); 390 retval = usb_submit_urb(urb, GFP_ATOMIC);
diff --git a/drivers/usb/input/mtouchusb.c b/drivers/usb/input/mtouchusb.c
index 5dce951f2751..79a85d46cb13 100644
--- a/drivers/usb/input/mtouchusb.c
+++ b/drivers/usb/input/mtouchusb.c
@@ -98,7 +98,7 @@ static struct usb_device_id mtouchusb_devices[] = {
98 { } 98 { }
99}; 99};
100 100
101static void mtouchusb_irq(struct urb *urb, struct pt_regs *regs) 101static void mtouchusb_irq(struct urb *urb)
102{ 102{
103 struct mtouch_usb *mtouch = urb->context; 103 struct mtouch_usb *mtouch = urb->context;
104 int retval; 104 int retval;
@@ -125,7 +125,6 @@ static void mtouchusb_irq(struct urb *urb, struct pt_regs *regs)
125 goto exit; 125 goto exit;
126 } 126 }
127 127
128 input_regs(mtouch->input, regs);
129 input_report_key(mtouch->input, BTN_TOUCH, 128 input_report_key(mtouch->input, BTN_TOUCH,
130 MTOUCHUSB_GET_TOUCHED(mtouch->data)); 129 MTOUCHUSB_GET_TOUCHED(mtouch->data));
131 input_report_abs(mtouch->input, ABS_X, MTOUCHUSB_GET_XC(mtouch->data)); 130 input_report_abs(mtouch->input, ABS_X, MTOUCHUSB_GET_XC(mtouch->data));
diff --git a/drivers/usb/input/powermate.c b/drivers/usb/input/powermate.c
index f0f8db6810a2..0bf91778c40d 100644
--- a/drivers/usb/input/powermate.c
+++ b/drivers/usb/input/powermate.c
@@ -80,10 +80,10 @@ struct powermate_device {
80static char pm_name_powermate[] = "Griffin PowerMate"; 80static char pm_name_powermate[] = "Griffin PowerMate";
81static char pm_name_soundknob[] = "Griffin SoundKnob"; 81static char pm_name_soundknob[] = "Griffin SoundKnob";
82 82
83static void powermate_config_complete(struct urb *urb, struct pt_regs *regs); 83static void powermate_config_complete(struct urb *urb);
84 84
85/* Callback for data arriving from the PowerMate over the USB interrupt pipe */ 85/* Callback for data arriving from the PowerMate over the USB interrupt pipe */
86static void powermate_irq(struct urb *urb, struct pt_regs *regs) 86static void powermate_irq(struct urb *urb)
87{ 87{
88 struct powermate_device *pm = urb->context; 88 struct powermate_device *pm = urb->context;
89 int retval; 89 int retval;
@@ -104,7 +104,6 @@ static void powermate_irq(struct urb *urb, struct pt_regs *regs)
104 } 104 }
105 105
106 /* handle updates to device state */ 106 /* handle updates to device state */
107 input_regs(pm->input, regs);
108 input_report_key(pm->input, BTN_0, pm->data[0] & 0x01); 107 input_report_key(pm->input, BTN_0, pm->data[0] & 0x01);
109 input_report_rel(pm->input, REL_DIAL, pm->data[1]); 108 input_report_rel(pm->input, REL_DIAL, pm->data[1]);
110 input_sync(pm->input); 109 input_sync(pm->input);
@@ -191,7 +190,7 @@ static void powermate_sync_state(struct powermate_device *pm)
191} 190}
192 191
193/* Called when our asynchronous control message completes. We may need to issue another immediately */ 192/* Called when our asynchronous control message completes. We may need to issue another immediately */
194static void powermate_config_complete(struct urb *urb, struct pt_regs *regs) 193static void powermate_config_complete(struct urb *urb)
195{ 194{
196 struct powermate_device *pm = urb->context; 195 struct powermate_device *pm = urb->context;
197 unsigned long flags; 196 unsigned long flags;
diff --git a/drivers/usb/input/touchkitusb.c b/drivers/usb/input/touchkitusb.c
index 30b9f820e7a8..05c0d1ca39ab 100644
--- a/drivers/usb/input/touchkitusb.c
+++ b/drivers/usb/input/touchkitusb.c
@@ -92,8 +92,7 @@ static inline int touchkit_get_y(char *data)
92 92
93 93
94/* processes one input packet. */ 94/* processes one input packet. */
95static void touchkit_process_pkt(struct touchkit_usb *touchkit, 95static void touchkit_process_pkt(struct touchkit_usb *touchkit, char *pkt)
96 struct pt_regs *regs, char *pkt)
97{ 96{
98 int x, y; 97 int x, y;
99 98
@@ -109,7 +108,6 @@ static void touchkit_process_pkt(struct touchkit_usb *touchkit,
109 y = touchkit_get_y(pkt); 108 y = touchkit_get_y(pkt);
110 } 109 }
111 110
112 input_regs(touchkit->input, regs);
113 input_report_key(touchkit->input, BTN_TOUCH, touchkit_get_touched(pkt)); 111 input_report_key(touchkit->input, BTN_TOUCH, touchkit_get_touched(pkt));
114 input_report_abs(touchkit->input, ABS_X, x); 112 input_report_abs(touchkit->input, ABS_X, x);
115 input_report_abs(touchkit->input, ABS_Y, y); 113 input_report_abs(touchkit->input, ABS_Y, y);
@@ -130,8 +128,7 @@ static int touchkit_get_pkt_len(char *buf)
130 return 0; 128 return 0;
131} 129}
132 130
133static void touchkit_process(struct touchkit_usb *touchkit, int len, 131static void touchkit_process(struct touchkit_usb *touchkit, int len)
134 struct pt_regs *regs)
135{ 132{
136 char *buffer; 133 char *buffer;
137 int pkt_len, buf_len, pos; 134 int pkt_len, buf_len, pos;
@@ -153,7 +150,7 @@ static void touchkit_process(struct touchkit_usb *touchkit, int len,
153 /* append, process */ 150 /* append, process */
154 tmp = pkt_len - touchkit->buf_len; 151 tmp = pkt_len - touchkit->buf_len;
155 memcpy(touchkit->buffer + touchkit->buf_len, touchkit->data, tmp); 152 memcpy(touchkit->buffer + touchkit->buf_len, touchkit->data, tmp);
156 touchkit_process_pkt(touchkit, regs, touchkit->buffer); 153 touchkit_process_pkt(touchkit, touchkit->buffer);
157 154
158 buffer = touchkit->data + tmp; 155 buffer = touchkit->data + tmp;
159 buf_len = len - tmp; 156 buf_len = len - tmp;
@@ -181,7 +178,7 @@ static void touchkit_process(struct touchkit_usb *touchkit, int len,
181 178
182 /* full packet: process */ 179 /* full packet: process */
183 if (likely(pkt_len <= buf_len)) { 180 if (likely(pkt_len <= buf_len)) {
184 touchkit_process_pkt(touchkit, regs, buffer + pos); 181 touchkit_process_pkt(touchkit, buffer + pos);
185 } else { 182 } else {
186 /* incomplete packet: save in buffer */ 183 /* incomplete packet: save in buffer */
187 memcpy(touchkit->buffer, buffer + pos, buf_len - pos); 184 memcpy(touchkit->buffer, buffer + pos, buf_len - pos);
@@ -192,7 +189,7 @@ static void touchkit_process(struct touchkit_usb *touchkit, int len,
192} 189}
193 190
194 191
195static void touchkit_irq(struct urb *urb, struct pt_regs *regs) 192static void touchkit_irq(struct urb *urb)
196{ 193{
197 struct touchkit_usb *touchkit = urb->context; 194 struct touchkit_usb *touchkit = urb->context;
198 int retval; 195 int retval;
@@ -219,7 +216,7 @@ static void touchkit_irq(struct urb *urb, struct pt_regs *regs)
219 goto exit; 216 goto exit;
220 } 217 }
221 218
222 touchkit_process(touchkit, urb->actual_length, regs); 219 touchkit_process(touchkit, urb->actual_length);
223 220
224exit: 221exit:
225 retval = usb_submit_urb(urb, GFP_ATOMIC); 222 retval = usb_submit_urb(urb, GFP_ATOMIC);
diff --git a/drivers/usb/input/usbkbd.c b/drivers/usb/input/usbkbd.c
index 5067a6ae650f..c73285cf8558 100644
--- a/drivers/usb/input/usbkbd.c
+++ b/drivers/usb/input/usbkbd.c
@@ -80,7 +80,7 @@ struct usb_kbd {
80 dma_addr_t leds_dma; 80 dma_addr_t leds_dma;
81}; 81};
82 82
83static void usb_kbd_irq(struct urb *urb, struct pt_regs *regs) 83static void usb_kbd_irq(struct urb *urb)
84{ 84{
85 struct usb_kbd *kbd = urb->context; 85 struct usb_kbd *kbd = urb->context;
86 int i; 86 int i;
@@ -97,8 +97,6 @@ static void usb_kbd_irq(struct urb *urb, struct pt_regs *regs)
97 goto resubmit; 97 goto resubmit;
98 } 98 }
99 99
100 input_regs(kbd->dev, regs);
101
102 for (i = 0; i < 8; i++) 100 for (i = 0; i < 8; i++)
103 input_report_key(kbd->dev, usb_kbd_keycode[i + 224], (kbd->new[0] >> i) & 1); 101 input_report_key(kbd->dev, usb_kbd_keycode[i + 224], (kbd->new[0] >> i) & 1);
104 102
@@ -158,7 +156,7 @@ static int usb_kbd_event(struct input_dev *dev, unsigned int type,
158 return 0; 156 return 0;
159} 157}
160 158
161static void usb_kbd_led(struct urb *urb, struct pt_regs *regs) 159static void usb_kbd_led(struct urb *urb)
162{ 160{
163 struct usb_kbd *kbd = urb->context; 161 struct usb_kbd *kbd = urb->context;
164 162
diff --git a/drivers/usb/input/usbmouse.c b/drivers/usb/input/usbmouse.c
index 0fb792be95ef..cbbbea332ed7 100644
--- a/drivers/usb/input/usbmouse.c
+++ b/drivers/usb/input/usbmouse.c
@@ -55,7 +55,7 @@ struct usb_mouse {
55 dma_addr_t data_dma; 55 dma_addr_t data_dma;
56}; 56};
57 57
58static void usb_mouse_irq(struct urb *urb, struct pt_regs *regs) 58static void usb_mouse_irq(struct urb *urb)
59{ 59{
60 struct usb_mouse *mouse = urb->context; 60 struct usb_mouse *mouse = urb->context;
61 signed char *data = mouse->data; 61 signed char *data = mouse->data;
@@ -74,8 +74,6 @@ static void usb_mouse_irq(struct urb *urb, struct pt_regs *regs)
74 goto resubmit; 74 goto resubmit;
75 } 75 }
76 76
77 input_regs(dev, regs);
78
79 input_report_key(dev, BTN_LEFT, data[0] & 0x01); 77 input_report_key(dev, BTN_LEFT, data[0] & 0x01);
80 input_report_key(dev, BTN_RIGHT, data[0] & 0x02); 78 input_report_key(dev, BTN_RIGHT, data[0] & 0x02);
81 input_report_key(dev, BTN_MIDDLE, data[0] & 0x04); 79 input_report_key(dev, BTN_MIDDLE, data[0] & 0x04);
diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/usb/input/usbtouchscreen.c
index 923e22db18d4..f26c1cd1129f 100644
--- a/drivers/usb/input/usbtouchscreen.c
+++ b/drivers/usb/input/usbtouchscreen.c
@@ -61,7 +61,7 @@ struct usbtouch_device_info {
61 int rept_size; 61 int rept_size;
62 int flags; 62 int flags;
63 63
64 void (*process_pkt) (struct usbtouch_usb *usbtouch, struct pt_regs *regs, unsigned char *pkt, int len); 64 void (*process_pkt) (struct usbtouch_usb *usbtouch, unsigned char *pkt, int len);
65 int (*get_pkt_len) (unsigned char *pkt, int len); 65 int (*get_pkt_len) (unsigned char *pkt, int len);
66 int (*read_data) (unsigned char *pkt, int *x, int *y, int *touch, int *press); 66 int (*read_data) (unsigned char *pkt, int *x, int *y, int *touch, int *press);
67 int (*init) (struct usbtouch_usb *usbtouch); 67 int (*init) (struct usbtouch_usb *usbtouch);
@@ -91,7 +91,6 @@ struct usbtouch_usb {
91 91
92#ifdef MULTI_PACKET 92#ifdef MULTI_PACKET
93static void usbtouch_process_multi(struct usbtouch_usb *usbtouch, 93static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,
94 struct pt_regs *regs,
95 unsigned char *pkt, int len); 94 unsigned char *pkt, int len);
96#endif 95#endif
97 96
@@ -397,7 +396,7 @@ static struct usbtouch_device_info usbtouch_dev_info[] = {
397 * Generic Part 396 * Generic Part
398 */ 397 */
399static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch, 398static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,
400 struct pt_regs *regs, unsigned char *pkt, int len) 399 unsigned char *pkt, int len)
401{ 400{
402 int x, y, touch, press; 401 int x, y, touch, press;
403 struct usbtouch_device_info *type = usbtouch->type; 402 struct usbtouch_device_info *type = usbtouch->type;
@@ -405,7 +404,6 @@ static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,
405 if (!type->read_data(pkt, &x, &y, &touch, &press)) 404 if (!type->read_data(pkt, &x, &y, &touch, &press))
406 return; 405 return;
407 406
408 input_regs(usbtouch->input, regs);
409 input_report_key(usbtouch->input, BTN_TOUCH, touch); 407 input_report_key(usbtouch->input, BTN_TOUCH, touch);
410 408
411 if (swap_xy) { 409 if (swap_xy) {
@@ -423,7 +421,6 @@ static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,
423 421
424#ifdef MULTI_PACKET 422#ifdef MULTI_PACKET
425static void usbtouch_process_multi(struct usbtouch_usb *usbtouch, 423static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,
426 struct pt_regs *regs,
427 unsigned char *pkt, int len) 424 unsigned char *pkt, int len)
428{ 425{
429 unsigned char *buffer; 426 unsigned char *buffer;
@@ -460,7 +457,7 @@ static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,
460 if (usbtouch->buf_len + tmp >= usbtouch->type->rept_size) 457 if (usbtouch->buf_len + tmp >= usbtouch->type->rept_size)
461 goto out_flush_buf; 458 goto out_flush_buf;
462 memcpy(usbtouch->buffer + usbtouch->buf_len, pkt, tmp); 459 memcpy(usbtouch->buffer + usbtouch->buf_len, pkt, tmp);
463 usbtouch_process_pkt(usbtouch, regs, usbtouch->buffer, pkt_len); 460 usbtouch_process_pkt(usbtouch, usbtouch->buffer, pkt_len);
464 461
465 buffer = pkt + tmp; 462 buffer = pkt + tmp;
466 buf_len = len - tmp; 463 buf_len = len - tmp;
@@ -481,7 +478,7 @@ static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,
481 478
482 /* full packet: process */ 479 /* full packet: process */
483 if (likely((pkt_len > 0) && (pkt_len <= buf_len - pos))) { 480 if (likely((pkt_len > 0) && (pkt_len <= buf_len - pos))) {
484 usbtouch_process_pkt(usbtouch, regs, buffer + pos, pkt_len); 481 usbtouch_process_pkt(usbtouch, buffer + pos, pkt_len);
485 } else { 482 } else {
486 /* incomplete packet: save in buffer */ 483 /* incomplete packet: save in buffer */
487 memcpy(usbtouch->buffer, buffer + pos, buf_len - pos); 484 memcpy(usbtouch->buffer, buffer + pos, buf_len - pos);
@@ -498,7 +495,7 @@ out_flush_buf:
498#endif 495#endif
499 496
500 497
501static void usbtouch_irq(struct urb *urb, struct pt_regs *regs) 498static void usbtouch_irq(struct urb *urb)
502{ 499{
503 struct usbtouch_usb *usbtouch = urb->context; 500 struct usbtouch_usb *usbtouch = urb->context;
504 int retval; 501 int retval;
@@ -525,7 +522,7 @@ static void usbtouch_irq(struct urb *urb, struct pt_regs *regs)
525 goto exit; 522 goto exit;
526 } 523 }
527 524
528 usbtouch->type->process_pkt(usbtouch, regs, usbtouch->data, urb->actual_length); 525 usbtouch->type->process_pkt(usbtouch, usbtouch->data, urb->actual_length);
529 526
530exit: 527exit:
531 retval = usb_submit_urb(urb, GFP_ATOMIC); 528 retval = usb_submit_urb(urb, GFP_ATOMIC);
diff --git a/drivers/usb/input/wacom.h b/drivers/usb/input/wacom.h
index 832737b658cf..7b3840e378a8 100644
--- a/drivers/usb/input/wacom.h
+++ b/drivers/usb/input/wacom.h
@@ -106,16 +106,14 @@ struct wacom {
106struct wacom_combo { 106struct wacom_combo {
107 struct wacom * wacom; 107 struct wacom * wacom;
108 struct urb * urb; 108 struct urb * urb;
109 struct pt_regs *regs;
110}; 109};
111 110
112extern int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo); 111extern int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo);
113extern void wacom_sys_irq(struct urb *urb, struct pt_regs *regs); 112extern void wacom_sys_irq(struct urb *urb);
114extern void wacom_report_abs(void *wcombo, unsigned int abs_type, int abs_data); 113extern void wacom_report_abs(void *wcombo, unsigned int abs_type, int abs_data);
115extern void wacom_report_rel(void *wcombo, unsigned int rel_type, int rel_data); 114extern void wacom_report_rel(void *wcombo, unsigned int rel_type, int rel_data);
116extern void wacom_report_key(void *wcombo, unsigned int key_type, int key_data); 115extern void wacom_report_key(void *wcombo, unsigned int key_type, int key_data);
117extern void wacom_input_event(void *wcombo, unsigned int type, unsigned int code, int value); 116extern void wacom_input_event(void *wcombo, unsigned int type, unsigned int code, int value);
118extern void wacom_input_regs(void *wcombo);
119extern void wacom_input_sync(void *wcombo); 117extern void wacom_input_sync(void *wcombo);
120extern void wacom_init_input_dev(struct input_dev *input_dev, struct wacom_wac *wacom_wac); 118extern void wacom_init_input_dev(struct input_dev *input_dev, struct wacom_wac *wacom_wac);
121extern void input_dev_g4(struct input_dev *input_dev, struct wacom_wac *wacom_wac); 119extern void input_dev_g4(struct input_dev *input_dev, struct wacom_wac *wacom_wac);
diff --git a/drivers/usb/input/wacom_sys.c b/drivers/usb/input/wacom_sys.c
index 7c3b52bdd9d6..d233c37bd533 100644
--- a/drivers/usb/input/wacom_sys.c
+++ b/drivers/usb/input/wacom_sys.c
@@ -42,7 +42,7 @@ static struct input_dev * get_input_dev(struct wacom_combo *wcombo)
42 return wcombo->wacom->dev; 42 return wcombo->wacom->dev;
43} 43}
44 44
45void wacom_sys_irq(struct urb *urb, struct pt_regs *regs) 45void wacom_sys_irq(struct urb *urb)
46{ 46{
47 struct wacom *wacom = urb->context; 47 struct wacom *wacom = urb->context;
48 struct wacom_combo wcombo; 48 struct wacom_combo wcombo;
@@ -65,7 +65,6 @@ void wacom_sys_irq(struct urb *urb, struct pt_regs *regs)
65 65
66 wcombo.wacom = wacom; 66 wcombo.wacom = wacom;
67 wcombo.urb = urb; 67 wcombo.urb = urb;
68 wcombo.regs = regs;
69 68
70 if (wacom_wac_irq(wacom->wacom_wac, (void *)&wcombo)) 69 if (wacom_wac_irq(wacom->wacom_wac, (void *)&wcombo))
71 input_sync(get_input_dev(&wcombo)); 70 input_sync(get_input_dev(&wcombo));
@@ -115,12 +114,6 @@ __u16 wacom_le16_to_cpu(unsigned char *data)
115 return value; 114 return value;
116} 115}
117 116
118void wacom_input_regs(void *wcombo)
119{
120 input_regs(get_input_dev((struct wacom_combo *)wcombo), ((struct wacom_combo *)wcombo)->regs);
121 return;
122}
123
124void wacom_input_sync(void *wcombo) 117void wacom_input_sync(void *wcombo)
125{ 118{
126 input_sync(get_input_dev((struct wacom_combo *)wcombo)); 119 input_sync(get_input_dev((struct wacom_combo *)wcombo));
diff --git a/drivers/usb/input/wacom_wac.c b/drivers/usb/input/wacom_wac.c
index 85d458c98b6e..aa31d22d4f05 100644
--- a/drivers/usb/input/wacom_wac.c
+++ b/drivers/usb/input/wacom_wac.c
@@ -20,7 +20,6 @@ static int wacom_penpartner_irq(struct wacom_wac *wacom, void *wcombo)
20 20
21 switch (data[0]) { 21 switch (data[0]) {
22 case 1: 22 case 1:
23 wacom_input_regs(wcombo);
24 if (data[5] & 0x80) { 23 if (data[5] & 0x80) {
25 wacom->tool[0] = (data[5] & 0x20) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; 24 wacom->tool[0] = (data[5] & 0x20) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN;
26 wacom->id[0] = (data[5] & 0x20) ? ERASER_DEVICE_ID : STYLUS_DEVICE_ID; 25 wacom->id[0] = (data[5] & 0x20) ? ERASER_DEVICE_ID : STYLUS_DEVICE_ID;
@@ -39,7 +38,6 @@ static int wacom_penpartner_irq(struct wacom_wac *wacom, void *wcombo)
39 } 38 }
40 break; 39 break;
41 case 2: 40 case 2:
42 wacom_input_regs(wcombo);
43 wacom_report_key(wcombo, BTN_TOOL_PEN, 1); 41 wacom_report_key(wcombo, BTN_TOOL_PEN, 1);
44 wacom_report_abs(wcombo, ABS_MISC, STYLUS_DEVICE_ID); /* report tool id */ 42 wacom_report_abs(wcombo, ABS_MISC, STYLUS_DEVICE_ID); /* report tool id */
45 wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1])); 43 wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1]));
@@ -67,8 +65,6 @@ static int wacom_pl_irq(struct wacom_wac *wacom, void *wcombo)
67 65
68 prox = data[1] & 0x40; 66 prox = data[1] & 0x40;
69 67
70 wacom_input_regs(wcombo);
71
72 id = ERASER_DEVICE_ID; 68 id = ERASER_DEVICE_ID;
73 if (prox) { 69 if (prox) {
74 70
@@ -138,7 +134,6 @@ static int wacom_ptu_irq(struct wacom_wac *wacom, void *wcombo)
138 return 0; 134 return 0;
139 } 135 }
140 136
141 wacom_input_regs(wcombo);
142 if (data[1] & 0x04) { 137 if (data[1] & 0x04) {
143 wacom_report_key(wcombo, BTN_TOOL_RUBBER, data[1] & 0x20); 138 wacom_report_key(wcombo, BTN_TOOL_RUBBER, data[1] & 0x20);
144 wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x08); 139 wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x08);
@@ -167,8 +162,6 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo)
167 return 0; 162 return 0;
168 } 163 }
169 164
170 wacom_input_regs(wcombo);
171
172 id = STYLUS_DEVICE_ID; 165 id = STYLUS_DEVICE_ID;
173 if (data[1] & 0x10) { /* in prox */ 166 if (data[1] & 0x10) { /* in prox */
174 167
@@ -369,8 +362,6 @@ static int wacom_intuos_irq(struct wacom_wac *wacom, void *wcombo)
369 return 0; 362 return 0;
370 } 363 }
371 364
372 wacom_input_regs(wcombo);
373
374 /* tool number */ 365 /* tool number */
375 idx = data[1] & 0x01; 366 idx = data[1] & 0x01;
376 367
diff --git a/drivers/usb/input/xpad.c b/drivers/usb/input/xpad.c
index 9889b1cda05b..cebb6c463bfb 100644
--- a/drivers/usb/input/xpad.c
+++ b/drivers/usb/input/xpad.c
@@ -120,12 +120,10 @@ struct usb_xpad {
120 * http://euc.jp/periphs/xbox-controller.ja.html 120 * http://euc.jp/periphs/xbox-controller.ja.html
121 */ 121 */
122 122
123static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *data, struct pt_regs *regs) 123static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *data)
124{ 124{
125 struct input_dev *dev = xpad->dev; 125 struct input_dev *dev = xpad->dev;
126 126
127 input_regs(dev, regs);
128
129 /* left stick */ 127 /* left stick */
130 input_report_abs(dev, ABS_X, (__s16) (((__s16)data[13] << 8) | data[12])); 128 input_report_abs(dev, ABS_X, (__s16) (((__s16)data[13] << 8) | data[12]));
131 input_report_abs(dev, ABS_Y, (__s16) (((__s16)data[15] << 8) | data[14])); 129 input_report_abs(dev, ABS_Y, (__s16) (((__s16)data[15] << 8) | data[14]));
@@ -161,7 +159,7 @@ static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *d
161 input_sync(dev); 159 input_sync(dev);
162} 160}
163 161
164static void xpad_irq_in(struct urb *urb, struct pt_regs *regs) 162static void xpad_irq_in(struct urb *urb)
165{ 163{
166 struct usb_xpad *xpad = urb->context; 164 struct usb_xpad *xpad = urb->context;
167 int retval; 165 int retval;
@@ -181,7 +179,7 @@ static void xpad_irq_in(struct urb *urb, struct pt_regs *regs)
181 goto exit; 179 goto exit;
182 } 180 }
183 181
184 xpad_process_packet(xpad, 0, xpad->idata, regs); 182 xpad_process_packet(xpad, 0, xpad->idata);
185 183
186exit: 184exit:
187 retval = usb_submit_urb (urb, GFP_ATOMIC); 185 retval = usb_submit_urb (urb, GFP_ATOMIC);
diff --git a/drivers/usb/input/yealink.c b/drivers/usb/input/yealink.c
index 7291e7a2717b..905bf6398257 100644
--- a/drivers/usb/input/yealink.c
+++ b/drivers/usb/input/yealink.c
@@ -233,11 +233,10 @@ static int map_p1k_to_key(int scancode)
233 * 233 *
234 * The key parameter can be cascaded: key2 << 8 | key1 234 * The key parameter can be cascaded: key2 << 8 | key1
235 */ 235 */
236static void report_key(struct yealink_dev *yld, int key, struct pt_regs *regs) 236static void report_key(struct yealink_dev *yld, int key)
237{ 237{
238 struct input_dev *idev = yld->idev; 238 struct input_dev *idev = yld->idev;
239 239
240 input_regs(idev, regs);
241 if (yld->key_code >= 0) { 240 if (yld->key_code >= 0) {
242 /* old key up */ 241 /* old key up */
243 input_report_key(idev, yld->key_code & 0xff, 0); 242 input_report_key(idev, yld->key_code & 0xff, 0);
@@ -422,7 +421,7 @@ send_update:
422 * error,start 421 * error,start
423 * 422 *
424 */ 423 */
425static void urb_irq_callback(struct urb *urb, struct pt_regs *regs) 424static void urb_irq_callback(struct urb *urb)
426{ 425{
427 struct yealink_dev *yld = urb->context; 426 struct yealink_dev *yld = urb->context;
428 int ret; 427 int ret;
@@ -439,7 +438,7 @@ static void urb_irq_callback(struct urb *urb, struct pt_regs *regs)
439 case CMD_SCANCODE: 438 case CMD_SCANCODE:
440 dbg("get scancode %x", yld->irq_data->data[0]); 439 dbg("get scancode %x", yld->irq_data->data[0]);
441 440
442 report_key(yld, map_p1k_to_key(yld->irq_data->data[0]), regs); 441 report_key(yld, map_p1k_to_key(yld->irq_data->data[0]));
443 break; 442 break;
444 443
445 default: 444 default:
@@ -453,7 +452,7 @@ static void urb_irq_callback(struct urb *urb, struct pt_regs *regs)
453 err("%s - usb_submit_urb failed %d", __FUNCTION__, ret); 452 err("%s - usb_submit_urb failed %d", __FUNCTION__, ret);
454} 453}
455 454
456static void urb_ctl_callback(struct urb *urb, struct pt_regs *regs) 455static void urb_ctl_callback(struct urb *urb)
457{ 456{
458 struct yealink_dev *yld = urb->context; 457 struct yealink_dev *yld = urb->context;
459 int ret; 458 int ret;
diff --git a/drivers/usb/misc/adutux.c b/drivers/usb/misc/adutux.c
index d3963199b6ec..aecd633fe9f6 100644
--- a/drivers/usb/misc/adutux.c
+++ b/drivers/usb/misc/adutux.c
@@ -177,7 +177,7 @@ static void adu_delete(struct adu_device *dev)
177 dbg(2, "%s : leave", __FUNCTION__); 177 dbg(2, "%s : leave", __FUNCTION__);
178} 178}
179 179
180static void adu_interrupt_in_callback(struct urb *urb, struct pt_regs *regs) 180static void adu_interrupt_in_callback(struct urb *urb)
181{ 181{
182 struct adu_device *dev = urb->context; 182 struct adu_device *dev = urb->context;
183 183
@@ -221,7 +221,7 @@ exit:
221 dbg(4," %s : leave, status %d", __FUNCTION__, urb->status); 221 dbg(4," %s : leave, status %d", __FUNCTION__, urb->status);
222} 222}
223 223
224static void adu_interrupt_out_callback(struct urb *urb, struct pt_regs *regs) 224static void adu_interrupt_out_callback(struct urb *urb)
225{ 225{
226 struct adu_device *dev = urb->context; 226 struct adu_device *dev = urb->context;
227 227
diff --git a/drivers/usb/misc/appledisplay.c b/drivers/usb/misc/appledisplay.c
index fc6cc147996f..6b23a1def9fe 100644
--- a/drivers/usb/misc/appledisplay.c
+++ b/drivers/usb/misc/appledisplay.c
@@ -84,7 +84,7 @@ struct appledisplay {
84static atomic_t count_displays = ATOMIC_INIT(0); 84static atomic_t count_displays = ATOMIC_INIT(0);
85static struct workqueue_struct *wq; 85static struct workqueue_struct *wq;
86 86
87static void appledisplay_complete(struct urb *urb, struct pt_regs *regs) 87static void appledisplay_complete(struct urb *urb)
88{ 88{
89 struct appledisplay *pdata = urb->context; 89 struct appledisplay *pdata = urb->context;
90 unsigned long flags; 90 unsigned long flags;
diff --git a/drivers/usb/misc/auerswald.c b/drivers/usb/misc/auerswald.c
index 4fd2110b3411..0be9d62d62ae 100644
--- a/drivers/usb/misc/auerswald.c
+++ b/drivers/usb/misc/auerswald.c
@@ -267,7 +267,7 @@ typedef struct
267 267
268/*-------------------------------------------------------------------*/ 268/*-------------------------------------------------------------------*/
269/* Forwards */ 269/* Forwards */
270static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs); 270static void auerswald_ctrlread_complete (struct urb * urb);
271static void auerswald_removeservice (pauerswald_t cp, pauerscon_t scp); 271static void auerswald_removeservice (pauerswald_t cp, pauerscon_t scp);
272static struct usb_driver auerswald_driver; 272static struct usb_driver auerswald_driver;
273 273
@@ -277,7 +277,7 @@ static struct usb_driver auerswald_driver;
277/* -------------------------- */ 277/* -------------------------- */
278 278
279/* completion function for chained urbs */ 279/* completion function for chained urbs */
280static void auerchain_complete (struct urb * urb, struct pt_regs *regs) 280static void auerchain_complete (struct urb * urb)
281{ 281{
282 unsigned long flags; 282 unsigned long flags;
283 int result; 283 int result;
@@ -296,7 +296,7 @@ static void auerchain_complete (struct urb * urb, struct pt_regs *regs)
296 NOTE: this function may lead to more urbs submitted into the chain. 296 NOTE: this function may lead to more urbs submitted into the chain.
297 (no chain lock at calling complete()!) 297 (no chain lock at calling complete()!)
298 acp->active != NULL is protecting us against recursion.*/ 298 acp->active != NULL is protecting us against recursion.*/
299 urb->complete (urb, regs); 299 urb->complete (urb);
300 300
301 /* detach element from chain data structure */ 301 /* detach element from chain data structure */
302 spin_lock_irqsave (&acp->lock, flags); 302 spin_lock_irqsave (&acp->lock, flags);
@@ -331,7 +331,7 @@ static void auerchain_complete (struct urb * urb, struct pt_regs *regs)
331 urb->status = result; 331 urb->status = result;
332 dbg("auerchain_complete: usb_submit_urb with error code %d", result); 332 dbg("auerchain_complete: usb_submit_urb with error code %d", result);
333 /* and do error handling via *this* completion function (recursive) */ 333 /* and do error handling via *this* completion function (recursive) */
334 auerchain_complete( urb, NULL); 334 auerchain_complete( urb);
335 } 335 }
336 } else { 336 } else {
337 /* simple return without submitting a new urb. 337 /* simple return without submitting a new urb.
@@ -408,7 +408,7 @@ static int auerchain_submit_urb_list (pauerchain_t acp, struct urb * urb, int ea
408 urb->status = result; 408 urb->status = result;
409 dbg("auerchain_submit_urb: usb_submit_urb with error code %d", result); 409 dbg("auerchain_submit_urb: usb_submit_urb with error code %d", result);
410 /* and do error handling via completion function */ 410 /* and do error handling via completion function */
411 auerchain_complete( urb, NULL); 411 auerchain_complete( urb);
412 } 412 }
413 } 413 }
414 414
@@ -448,7 +448,7 @@ static int auerchain_unlink_urb (pauerchain_t acp, struct urb * urb)
448 spin_unlock_irqrestore (&acp->lock, flags); 448 spin_unlock_irqrestore (&acp->lock, flags);
449 dbg ("unlink waiting urb"); 449 dbg ("unlink waiting urb");
450 urb->status = -ENOENT; 450 urb->status = -ENOENT;
451 urb->complete (urb, NULL); 451 urb->complete (urb);
452 return 0; 452 return 0;
453 } 453 }
454 } 454 }
@@ -505,7 +505,7 @@ static void auerchain_unlink_all (pauerchain_t acp)
505 spin_unlock_irqrestore (&acp->lock, flags); 505 spin_unlock_irqrestore (&acp->lock, flags);
506 dbg ("unlink waiting urb"); 506 dbg ("unlink waiting urb");
507 urbp->status = -ENOENT; 507 urbp->status = -ENOENT;
508 urbp->complete (urbp, NULL); 508 urbp->complete (urbp);
509 spin_lock_irqsave (&acp->lock, flags); 509 spin_lock_irqsave (&acp->lock, flags);
510 } 510 }
511 spin_unlock_irqrestore (&acp->lock, flags); 511 spin_unlock_irqrestore (&acp->lock, flags);
@@ -591,7 +591,7 @@ ac_fail:/* free the elements */
591 591
592 592
593/* completion handler for synchronous chained URBs */ 593/* completion handler for synchronous chained URBs */
594static void auerchain_blocking_completion (struct urb *urb, struct pt_regs *regs) 594static void auerchain_blocking_completion (struct urb *urb)
595{ 595{
596 pauerchain_chs_t pchs = (pauerchain_chs_t)urb->context; 596 pauerchain_chs_t pchs = (pauerchain_chs_t)urb->context;
597 pchs->done = 1; 597 pchs->done = 1;
@@ -846,7 +846,7 @@ static int auerswald_status_retry (int status)
846} 846}
847 847
848/* Completion of asynchronous write block */ 848/* Completion of asynchronous write block */
849static void auerchar_ctrlwrite_complete (struct urb * urb, struct pt_regs *regs) 849static void auerchar_ctrlwrite_complete (struct urb * urb)
850{ 850{
851 pauerbuf_t bp = (pauerbuf_t) urb->context; 851 pauerbuf_t bp = (pauerbuf_t) urb->context;
852 pauerswald_t cp = ((pauerswald_t)((char *)(bp->list)-(unsigned long)(&((pauerswald_t)0)->bufctl))); 852 pauerswald_t cp = ((pauerswald_t)((char *)(bp->list)-(unsigned long)(&((pauerswald_t)0)->bufctl)));
@@ -859,7 +859,7 @@ static void auerchar_ctrlwrite_complete (struct urb * urb, struct pt_regs *regs)
859} 859}
860 860
861/* Completion handler for dummy retry packet */ 861/* Completion handler for dummy retry packet */
862static void auerswald_ctrlread_wretcomplete (struct urb * urb, struct pt_regs *regs) 862static void auerswald_ctrlread_wretcomplete (struct urb * urb)
863{ 863{
864 pauerbuf_t bp = (pauerbuf_t) urb->context; 864 pauerbuf_t bp = (pauerbuf_t) urb->context;
865 pauerswald_t cp; 865 pauerswald_t cp;
@@ -893,12 +893,12 @@ static void auerswald_ctrlread_wretcomplete (struct urb * urb, struct pt_regs *r
893 if (ret) { 893 if (ret) {
894 dbg ("auerswald_ctrlread_complete: nonzero result of auerchain_submit_urb_list %d", ret); 894 dbg ("auerswald_ctrlread_complete: nonzero result of auerchain_submit_urb_list %d", ret);
895 bp->urbp->status = ret; 895 bp->urbp->status = ret;
896 auerswald_ctrlread_complete (bp->urbp, NULL); 896 auerswald_ctrlread_complete (bp->urbp);
897 } 897 }
898} 898}
899 899
900/* completion handler for receiving of control messages */ 900/* completion handler for receiving of control messages */
901static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs) 901static void auerswald_ctrlread_complete (struct urb * urb)
902{ 902{
903 unsigned int serviceid; 903 unsigned int serviceid;
904 pauerswald_t cp; 904 pauerswald_t cp;
@@ -941,7 +941,7 @@ static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs)
941 if (ret) { 941 if (ret) {
942 dbg ("auerswald_ctrlread_complete: nonzero result of auerchain_submit_urb_list %d", ret); 942 dbg ("auerswald_ctrlread_complete: nonzero result of auerchain_submit_urb_list %d", ret);
943 bp->urbp->status = ret; 943 bp->urbp->status = ret;
944 auerswald_ctrlread_wretcomplete (bp->urbp, regs); 944 auerswald_ctrlread_wretcomplete (bp->urbp);
945 } 945 }
946 return; 946 return;
947 } 947 }
@@ -970,7 +970,7 @@ static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs)
970 messages from the USB device. 970 messages from the USB device.
971*/ 971*/
972/* int completion handler. */ 972/* int completion handler. */
973static void auerswald_int_complete (struct urb * urb, struct pt_regs *regs) 973static void auerswald_int_complete (struct urb * urb)
974{ 974{
975 unsigned long flags; 975 unsigned long flags;
976 unsigned int channelid; 976 unsigned int channelid;
@@ -1070,7 +1070,7 @@ static void auerswald_int_complete (struct urb * urb, struct pt_regs *regs)
1070 if (ret) { 1070 if (ret) {
1071 dbg ("auerswald_int_complete: nonzero result of auerchain_submit_urb %d", ret); 1071 dbg ("auerswald_int_complete: nonzero result of auerchain_submit_urb %d", ret);
1072 bp->urbp->status = ret; 1072 bp->urbp->status = ret;
1073 auerswald_ctrlread_complete( bp->urbp, NULL); 1073 auerswald_ctrlread_complete( bp->urbp);
1074 /* here applies the same problem as above: device locking! */ 1074 /* here applies the same problem as above: device locking! */
1075 } 1075 }
1076exit: 1076exit:
diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
index c6f2f488a40f..0eb26a26115b 100644
--- a/drivers/usb/misc/ftdi-elan.c
+++ b/drivers/usb/misc/ftdi-elan.c
@@ -758,7 +758,7 @@ static ssize_t ftdi_elan_read(struct file *file, char __user *buffer,
758 return bytes_read; 758 return bytes_read;
759} 759}
760 760
761static void ftdi_elan_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 761static void ftdi_elan_write_bulk_callback(struct urb *urb)
762{ 762{
763 struct usb_ftdi *ftdi = (struct usb_ftdi *)urb->context; 763 struct usb_ftdi *ftdi = (struct usb_ftdi *)urb->context;
764 if (urb->status && !(urb->status == -ENOENT || urb->status == 764 if (urb->status && !(urb->status == -ENOENT || urb->status ==
diff --git a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c
index 10b640339d8d..788a11e6772f 100644
--- a/drivers/usb/misc/ldusb.c
+++ b/drivers/usb/misc/ldusb.c
@@ -212,7 +212,7 @@ static void ld_usb_delete(struct ld_usb *dev)
212/** 212/**
213 * ld_usb_interrupt_in_callback 213 * ld_usb_interrupt_in_callback
214 */ 214 */
215static void ld_usb_interrupt_in_callback(struct urb *urb, struct pt_regs *regs) 215static void ld_usb_interrupt_in_callback(struct urb *urb)
216{ 216{
217 struct ld_usb *dev = urb->context; 217 struct ld_usb *dev = urb->context;
218 size_t *actual_buffer; 218 size_t *actual_buffer;
@@ -264,7 +264,7 @@ exit:
264/** 264/**
265 * ld_usb_interrupt_out_callback 265 * ld_usb_interrupt_out_callback
266 */ 266 */
267static void ld_usb_interrupt_out_callback(struct urb *urb, struct pt_regs *regs) 267static void ld_usb_interrupt_out_callback(struct urb *urb)
268{ 268{
269 struct ld_usb *dev = urb->context; 269 struct ld_usb *dev = urb->context;
270 270
diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c
index 77c36e63c7bf..27089497e717 100644
--- a/drivers/usb/misc/legousbtower.c
+++ b/drivers/usb/misc/legousbtower.c
@@ -248,8 +248,8 @@ static loff_t tower_llseek (struct file *file, loff_t off, int whence);
248 248
249static void tower_abort_transfers (struct lego_usb_tower *dev); 249static void tower_abort_transfers (struct lego_usb_tower *dev);
250static void tower_check_for_read_packet (struct lego_usb_tower *dev); 250static void tower_check_for_read_packet (struct lego_usb_tower *dev);
251static void tower_interrupt_in_callback (struct urb *urb, struct pt_regs *regs); 251static void tower_interrupt_in_callback (struct urb *urb);
252static void tower_interrupt_out_callback (struct urb *urb, struct pt_regs *regs); 252static void tower_interrupt_out_callback (struct urb *urb);
253 253
254static int tower_probe (struct usb_interface *interface, const struct usb_device_id *id); 254static int tower_probe (struct usb_interface *interface, const struct usb_device_id *id);
255static void tower_disconnect (struct usb_interface *interface); 255static void tower_disconnect (struct usb_interface *interface);
@@ -755,7 +755,7 @@ exit:
755/** 755/**
756 * tower_interrupt_in_callback 756 * tower_interrupt_in_callback
757 */ 757 */
758static void tower_interrupt_in_callback (struct urb *urb, struct pt_regs *regs) 758static void tower_interrupt_in_callback (struct urb *urb)
759{ 759{
760 struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context; 760 struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context;
761 int retval; 761 int retval;
@@ -811,7 +811,7 @@ exit:
811/** 811/**
812 * tower_interrupt_out_callback 812 * tower_interrupt_out_callback
813 */ 813 */
814static void tower_interrupt_out_callback (struct urb *urb, struct pt_regs *regs) 814static void tower_interrupt_out_callback (struct urb *urb)
815{ 815{
816 struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context; 816 struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context;
817 817
diff --git a/drivers/usb/misc/phidgetkit.c b/drivers/usb/misc/phidgetkit.c
index 78e419904abf..abb4dcd811ac 100644
--- a/drivers/usb/misc/phidgetkit.c
+++ b/drivers/usb/misc/phidgetkit.c
@@ -300,7 +300,7 @@ out:
300 300
301static DEVICE_ATTR(lcd, S_IWUGO, NULL, enable_lcd_files); 301static DEVICE_ATTR(lcd, S_IWUGO, NULL, enable_lcd_files);
302 302
303static void interfacekit_irq(struct urb *urb, struct pt_regs *regs) 303static void interfacekit_irq(struct urb *urb)
304{ 304{
305 struct interfacekit *kit = urb->context; 305 struct interfacekit *kit = urb->context;
306 unsigned char *buffer = kit->data; 306 unsigned char *buffer = kit->data;
diff --git a/drivers/usb/misc/phidgetmotorcontrol.c b/drivers/usb/misc/phidgetmotorcontrol.c
index 6b59b620d616..5c780cab92e0 100644
--- a/drivers/usb/misc/phidgetmotorcontrol.c
+++ b/drivers/usb/misc/phidgetmotorcontrol.c
@@ -90,7 +90,7 @@ static int set_motor(struct motorcontrol *mc, int motor)
90 return retval < 0 ? retval : 0; 90 return retval < 0 ? retval : 0;
91} 91}
92 92
93static void motorcontrol_irq(struct urb *urb, struct pt_regs *regs) 93static void motorcontrol_irq(struct urb *urb)
94{ 94{
95 struct motorcontrol *mc = urb->context; 95 struct motorcontrol *mc = urb->context;
96 unsigned char *buffer = mc->data; 96 unsigned char *buffer = mc->data;
diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c
index a287836e39f1..b99ca9c79821 100644
--- a/drivers/usb/misc/sisusbvga/sisusb.c
+++ b/drivers/usb/misc/sisusbvga/sisusb.c
@@ -209,7 +209,7 @@ sisusb_free_outbuf(struct sisusb_usb_data *sisusb, int index)
209/* completion callback */ 209/* completion callback */
210 210
211static void 211static void
212sisusb_bulk_completeout(struct urb *urb, struct pt_regs *regs) 212sisusb_bulk_completeout(struct urb *urb)
213{ 213{
214 struct sisusb_urb_context *context = urb->context; 214 struct sisusb_urb_context *context = urb->context;
215 struct sisusb_usb_data *sisusb; 215 struct sisusb_usb_data *sisusb;
@@ -288,7 +288,7 @@ sisusb_bulkout_msg(struct sisusb_usb_data *sisusb, int index, unsigned int pipe,
288/* completion callback */ 288/* completion callback */
289 289
290static void 290static void
291sisusb_bulk_completein(struct urb *urb, struct pt_regs *regs) 291sisusb_bulk_completein(struct urb *urb)
292{ 292{
293 struct sisusb_usb_data *sisusb = urb->context; 293 struct sisusb_usb_data *sisusb = urb->context;
294 294
diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c
index dbaca9f1efad..ada2ebc464ae 100644
--- a/drivers/usb/misc/usblcd.c
+++ b/drivers/usb/misc/usblcd.c
@@ -165,7 +165,7 @@ static int lcd_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u
165 return 0; 165 return 0;
166} 166}
167 167
168static void lcd_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 168static void lcd_write_bulk_callback(struct urb *urb)
169{ 169{
170 struct usb_lcd *dev; 170 struct usb_lcd *dev;
171 171
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
index 983e104dd452..7c2cbdf81d20 100644
--- a/drivers/usb/misc/usbtest.c
+++ b/drivers/usb/misc/usbtest.c
@@ -198,7 +198,7 @@ found:
198 * them with non-zero test data (or test for it) when appropriate. 198 * them with non-zero test data (or test for it) when appropriate.
199 */ 199 */
200 200
201static void simple_callback (struct urb *urb, struct pt_regs *regs) 201static void simple_callback (struct urb *urb)
202{ 202{
203 complete ((struct completion *) urb->context); 203 complete ((struct completion *) urb->context);
204} 204}
@@ -730,7 +730,7 @@ struct subcase {
730 int expected; 730 int expected;
731}; 731};
732 732
733static void ctrl_complete (struct urb *urb, struct pt_regs *regs) 733static void ctrl_complete (struct urb *urb)
734{ 734{
735 struct ctrl_ctx *ctx = urb->context; 735 struct ctrl_ctx *ctx = urb->context;
736 struct usb_ctrlrequest *reqp; 736 struct usb_ctrlrequest *reqp;
@@ -1035,7 +1035,7 @@ cleanup:
1035 1035
1036/*-------------------------------------------------------------------------*/ 1036/*-------------------------------------------------------------------------*/
1037 1037
1038static void unlink1_callback (struct urb *urb, struct pt_regs *regs) 1038static void unlink1_callback (struct urb *urb)
1039{ 1039{
1040 int status = urb->status; 1040 int status = urb->status;
1041 1041
@@ -1343,7 +1343,7 @@ struct iso_context {
1343 struct usbtest_dev *dev; 1343 struct usbtest_dev *dev;
1344}; 1344};
1345 1345
1346static void iso_callback (struct urb *urb, struct pt_regs *regs) 1346static void iso_callback (struct urb *urb)
1347{ 1347{
1348 struct iso_context *ctx = urb->context; 1348 struct iso_context *ctx = urb->context;
1349 1349
diff --git a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c
index 4081990b7d1a..7e8a0acd52ee 100644
--- a/drivers/usb/misc/uss720.c
+++ b/drivers/usb/misc/uss720.c
@@ -106,7 +106,7 @@ static void destroy_async(struct kref *kref)
106 106
107/* --------------------------------------------------------------------- */ 107/* --------------------------------------------------------------------- */
108 108
109static void async_complete(struct urb *urb, struct pt_regs *ptregs) 109static void async_complete(struct urb *urb)
110{ 110{
111 struct uss720_async_request *rq; 111 struct uss720_async_request *rq;
112 struct parport *pp; 112 struct parport *pp;
@@ -127,7 +127,7 @@ static void async_complete(struct urb *urb, struct pt_regs *ptregs)
127#endif 127#endif
128 /* if nAck interrupts are enabled and we have an interrupt, call the interrupt procedure */ 128 /* if nAck interrupts are enabled and we have an interrupt, call the interrupt procedure */
129 if (rq->reg[2] & rq->reg[1] & 0x10 && pp) 129 if (rq->reg[2] & rq->reg[1] & 0x10 && pp)
130 parport_generic_irq(0, pp, NULL); 130 parport_generic_irq(0, pp);
131 } 131 }
132 complete(&rq->compl); 132 complete(&rq->compl);
133 kref_put(&rq->ref_count, destroy_async); 133 kref_put(&rq->ref_count, destroy_async);
diff --git a/drivers/usb/net/asix.c b/drivers/usb/net/asix.c
index 9c0eacf7055c..c73dd224aa76 100644
--- a/drivers/usb/net/asix.c
+++ b/drivers/usb/net/asix.c
@@ -214,7 +214,7 @@ static int asix_write_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
214 USB_CTRL_SET_TIMEOUT); 214 USB_CTRL_SET_TIMEOUT);
215} 215}
216 216
217static void asix_async_cmd_callback(struct urb *urb, struct pt_regs *regs) 217static void asix_async_cmd_callback(struct urb *urb)
218{ 218{
219 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; 219 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context;
220 220
diff --git a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c
index be5f5e142dd0..f740325abac4 100644
--- a/drivers/usb/net/catc.c
+++ b/drivers/usb/net/catc.c
@@ -223,7 +223,7 @@ struct catc {
223 * Receive routines. 223 * Receive routines.
224 */ 224 */
225 225
226static void catc_rx_done(struct urb *urb, struct pt_regs *regs) 226static void catc_rx_done(struct urb *urb)
227{ 227{
228 struct catc *catc = urb->context; 228 struct catc *catc = urb->context;
229 u8 *pkt_start = urb->transfer_buffer; 229 u8 *pkt_start = urb->transfer_buffer;
@@ -289,7 +289,7 @@ static void catc_rx_done(struct urb *urb, struct pt_regs *regs)
289 } 289 }
290} 290}
291 291
292static void catc_irq_done(struct urb *urb, struct pt_regs *regs) 292static void catc_irq_done(struct urb *urb)
293{ 293{
294 struct catc *catc = urb->context; 294 struct catc *catc = urb->context;
295 u8 *data = urb->transfer_buffer; 295 u8 *data = urb->transfer_buffer;
@@ -376,7 +376,7 @@ static void catc_tx_run(struct catc *catc)
376 catc->netdev->trans_start = jiffies; 376 catc->netdev->trans_start = jiffies;
377} 377}
378 378
379static void catc_tx_done(struct urb *urb, struct pt_regs *regs) 379static void catc_tx_done(struct urb *urb)
380{ 380{
381 struct catc *catc = urb->context; 381 struct catc *catc = urb->context;
382 unsigned long flags; 382 unsigned long flags;
@@ -486,7 +486,7 @@ static void catc_ctrl_run(struct catc *catc)
486 err("submit(ctrl_urb) status %d", status); 486 err("submit(ctrl_urb) status %d", status);
487} 487}
488 488
489static void catc_ctrl_done(struct urb *urb, struct pt_regs *regs) 489static void catc_ctrl_done(struct urb *urb)
490{ 490{
491 struct catc *catc = urb->context; 491 struct catc *catc = urb->context;
492 struct ctrl_queue *q; 492 struct ctrl_queue *q;
diff --git a/drivers/usb/net/gl620a.c b/drivers/usb/net/gl620a.c
index 3155f25f1d48..a3242be21959 100644
--- a/drivers/usb/net/gl620a.c
+++ b/drivers/usb/net/gl620a.c
@@ -106,7 +106,7 @@ static inline int gl_control_write(struct usbnet *dev, u8 request, u16 value)
106 return retval; 106 return retval;
107} 107}
108 108
109static void gl_interrupt_complete(struct urb *urb, struct pt_regs *regs) 109static void gl_interrupt_complete(struct urb *urb)
110{ 110{
111 int status = urb->status; 111 int status = urb->status;
112 112
diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c
index 544d41fe9b92..957d4ad316f9 100644
--- a/drivers/usb/net/kaweth.c
+++ b/drivers/usb/net/kaweth.c
@@ -475,7 +475,7 @@ static int kaweth_reset(struct kaweth_device *kaweth)
475 return result; 475 return result;
476} 476}
477 477
478static void kaweth_usb_receive(struct urb *, struct pt_regs *regs); 478static void kaweth_usb_receive(struct urb *);
479static int kaweth_resubmit_rx_urb(struct kaweth_device *, gfp_t); 479static int kaweth_resubmit_rx_urb(struct kaweth_device *, gfp_t);
480 480
481/**************************************************************** 481/****************************************************************
@@ -500,7 +500,7 @@ static void kaweth_resubmit_int_urb(struct kaweth_device *kaweth, gfp_t mf)
500 kaweth->dev->devpath, status); 500 kaweth->dev->devpath, status);
501} 501}
502 502
503static void int_callback(struct urb *u, struct pt_regs *regs) 503static void int_callback(struct urb *u)
504{ 504{
505 struct kaweth_device *kaweth = u->context; 505 struct kaweth_device *kaweth = u->context;
506 int act_state; 506 int act_state;
@@ -581,7 +581,7 @@ static void kaweth_async_set_rx_mode(struct kaweth_device *kaweth);
581/**************************************************************** 581/****************************************************************
582 * kaweth_usb_receive 582 * kaweth_usb_receive
583 ****************************************************************/ 583 ****************************************************************/
584static void kaweth_usb_receive(struct urb *urb, struct pt_regs *regs) 584static void kaweth_usb_receive(struct urb *urb)
585{ 585{
586 struct kaweth_device *kaweth = urb->context; 586 struct kaweth_device *kaweth = urb->context;
587 struct net_device *net = kaweth->net; 587 struct net_device *net = kaweth->net;
@@ -725,7 +725,7 @@ static struct ethtool_ops ops = {
725/**************************************************************** 725/****************************************************************
726 * kaweth_usb_transmit_complete 726 * kaweth_usb_transmit_complete
727 ****************************************************************/ 727 ****************************************************************/
728static void kaweth_usb_transmit_complete(struct urb *urb, struct pt_regs *regs) 728static void kaweth_usb_transmit_complete(struct urb *urb)
729{ 729{
730 struct kaweth_device *kaweth = urb->context; 730 struct kaweth_device *kaweth = urb->context;
731 struct sk_buff *skb = kaweth->tx_skb; 731 struct sk_buff *skb = kaweth->tx_skb;
@@ -1154,7 +1154,7 @@ struct usb_api_data {
1154/*-------------------------------------------------------------------* 1154/*-------------------------------------------------------------------*
1155 * completion handler for compatibility wrappers (sync control/bulk) * 1155 * completion handler for compatibility wrappers (sync control/bulk) *
1156 *-------------------------------------------------------------------*/ 1156 *-------------------------------------------------------------------*/
1157static void usb_api_blocking_completion(struct urb *urb, struct pt_regs *regs) 1157static void usb_api_blocking_completion(struct urb *urb)
1158{ 1158{
1159 struct usb_api_data *awd = (struct usb_api_data *)urb->context; 1159 struct usb_api_data *awd = (struct usb_api_data *)urb->context;
1160 1160
diff --git a/drivers/usb/net/net1080.c b/drivers/usb/net/net1080.c
index 301baa72bac7..ce00de8f13a1 100644
--- a/drivers/usb/net/net1080.c
+++ b/drivers/usb/net/net1080.c
@@ -368,7 +368,7 @@ static int net1080_check_connect(struct usbnet *dev)
368 return 0; 368 return 0;
369} 369}
370 370
371static void nc_flush_complete(struct urb *urb, struct pt_regs *regs) 371static void nc_flush_complete(struct urb *urb)
372{ 372{
373 kfree(urb->context); 373 kfree(urb->context);
374 usb_free_urb(urb); 374 usb_free_urb(urb);
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c
index 918cf5a77c08..33abbd2176b6 100644
--- a/drivers/usb/net/pegasus.c
+++ b/drivers/usb/net/pegasus.c
@@ -96,7 +96,7 @@ MODULE_DEVICE_TABLE(usb, pegasus_ids);
96 96
97static int update_eth_regs_async(pegasus_t *); 97static int update_eth_regs_async(pegasus_t *);
98/* Aargh!!! I _really_ hate such tweaks */ 98/* Aargh!!! I _really_ hate such tweaks */
99static void ctrl_callback(struct urb *urb, struct pt_regs *regs) 99static void ctrl_callback(struct urb *urb)
100{ 100{
101 pegasus_t *pegasus = urb->context; 101 pegasus_t *pegasus = urb->context;
102 102
@@ -605,7 +605,7 @@ static inline struct sk_buff *pull_skb(pegasus_t * pegasus)
605 return NULL; 605 return NULL;
606} 606}
607 607
608static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) 608static void read_bulk_callback(struct urb *urb)
609{ 609{
610 pegasus_t *pegasus = urb->context; 610 pegasus_t *pegasus = urb->context;
611 struct net_device *net; 611 struct net_device *net;
@@ -764,7 +764,7 @@ done:
764 spin_unlock_irqrestore(&pegasus->rx_pool_lock, flags); 764 spin_unlock_irqrestore(&pegasus->rx_pool_lock, flags);
765} 765}
766 766
767static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) 767static void write_bulk_callback(struct urb *urb)
768{ 768{
769 pegasus_t *pegasus = urb->context; 769 pegasus_t *pegasus = urb->context;
770 struct net_device *net = pegasus->net; 770 struct net_device *net = pegasus->net;
@@ -801,7 +801,7 @@ static void write_bulk_callback(struct urb *urb, struct pt_regs *regs)
801 netif_wake_queue(net); 801 netif_wake_queue(net);
802} 802}
803 803
804static void intr_callback(struct urb *urb, struct pt_regs *regs) 804static void intr_callback(struct urb *urb)
805{ 805{
806 pegasus_t *pegasus = urb->context; 806 pegasus_t *pegasus = urb->context;
807 struct net_device *net; 807 struct net_device *net;
@@ -1226,7 +1226,7 @@ static void pegasus_set_multicast(struct net_device *net)
1226 } 1226 }
1227 1227
1228 pegasus->flags |= ETH_REGS_CHANGE; 1228 pegasus->flags |= ETH_REGS_CHANGE;
1229 ctrl_callback(pegasus->ctrl_urb, NULL); 1229 ctrl_callback(pegasus->ctrl_urb);
1230} 1230}
1231 1231
1232static __u8 mii_phy_probe(pegasus_t * pegasus) 1232static __u8 mii_phy_probe(pegasus_t * pegasus)
@@ -1433,11 +1433,11 @@ static int pegasus_resume (struct usb_interface *intf)
1433 if (netif_running(pegasus->net)) { 1433 if (netif_running(pegasus->net)) {
1434 pegasus->rx_urb->status = 0; 1434 pegasus->rx_urb->status = 0;
1435 pegasus->rx_urb->actual_length = 0; 1435 pegasus->rx_urb->actual_length = 0;
1436 read_bulk_callback(pegasus->rx_urb, NULL); 1436 read_bulk_callback(pegasus->rx_urb);
1437 1437
1438 pegasus->intr_urb->status = 0; 1438 pegasus->intr_urb->status = 0;
1439 pegasus->intr_urb->actual_length = 0; 1439 pegasus->intr_urb->actual_length = 0;
1440 intr_callback(pegasus->intr_urb, NULL); 1440 intr_callback(pegasus->intr_urb);
1441 } 1441 }
1442 queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check, 1442 queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check,
1443 CARRIER_CHECK_DELAY); 1443 CARRIER_CHECK_DELAY);
diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c
index 2364c2099387..72171f94ded4 100644
--- a/drivers/usb/net/rtl8150.c
+++ b/drivers/usb/net/rtl8150.c
@@ -208,7 +208,7 @@ static int set_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)
208 indx, 0, data, size, 500); 208 indx, 0, data, size, 500);
209} 209}
210 210
211static void ctrl_callback(struct urb *urb, struct pt_regs *regs) 211static void ctrl_callback(struct urb *urb)
212{ 212{
213 rtl8150_t *dev; 213 rtl8150_t *dev;
214 214
@@ -415,7 +415,7 @@ static inline struct sk_buff *pull_skb(rtl8150_t *dev)
415 return NULL; 415 return NULL;
416} 416}
417 417
418static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) 418static void read_bulk_callback(struct urb *urb)
419{ 419{
420 rtl8150_t *dev; 420 rtl8150_t *dev;
421 unsigned pkt_len, res; 421 unsigned pkt_len, res;
@@ -525,7 +525,7 @@ tlsched:
525 tasklet_schedule(&dev->tl); 525 tasklet_schedule(&dev->tl);
526} 526}
527 527
528static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) 528static void write_bulk_callback(struct urb *urb)
529{ 529{
530 rtl8150_t *dev; 530 rtl8150_t *dev;
531 531
@@ -541,7 +541,7 @@ static void write_bulk_callback(struct urb *urb, struct pt_regs *regs)
541 netif_wake_queue(dev->netdev); 541 netif_wake_queue(dev->netdev);
542} 542}
543 543
544static void intr_callback(struct urb *urb, struct pt_regs *regs) 544static void intr_callback(struct urb *urb)
545{ 545{
546 rtl8150_t *dev; 546 rtl8150_t *dev;
547 __u8 *d; 547 __u8 *d;
@@ -617,11 +617,11 @@ static int rtl8150_resume(struct usb_interface *intf)
617 if (netif_running(dev->netdev)) { 617 if (netif_running(dev->netdev)) {
618 dev->rx_urb->status = 0; 618 dev->rx_urb->status = 0;
619 dev->rx_urb->actual_length = 0; 619 dev->rx_urb->actual_length = 0;
620 read_bulk_callback(dev->rx_urb, NULL); 620 read_bulk_callback(dev->rx_urb);
621 621
622 dev->intr_urb->status = 0; 622 dev->intr_urb->status = 0;
623 dev->intr_urb->actual_length = 0; 623 dev->intr_urb->actual_length = 0;
624 intr_callback(dev->intr_urb, NULL); 624 intr_callback(dev->intr_urb);
625 } 625 }
626 return 0; 626 return 0;
627} 627}
diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c
index 98a522f1e264..24bd3486ee63 100644
--- a/drivers/usb/net/usbnet.c
+++ b/drivers/usb/net/usbnet.c
@@ -158,7 +158,7 @@ int usbnet_get_endpoints(struct usbnet *dev, struct usb_interface *intf)
158} 158}
159EXPORT_SYMBOL_GPL(usbnet_get_endpoints); 159EXPORT_SYMBOL_GPL(usbnet_get_endpoints);
160 160
161static void intr_complete (struct urb *urb, struct pt_regs *regs); 161static void intr_complete (struct urb *urb);
162 162
163static int init_status (struct usbnet *dev, struct usb_interface *intf) 163static int init_status (struct usbnet *dev, struct usb_interface *intf)
164{ 164{
@@ -295,7 +295,7 @@ EXPORT_SYMBOL_GPL(usbnet_defer_kevent);
295 295
296/*-------------------------------------------------------------------------*/ 296/*-------------------------------------------------------------------------*/
297 297
298static void rx_complete (struct urb *urb, struct pt_regs *regs); 298static void rx_complete (struct urb *urb);
299 299
300static void rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) 300static void rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags)
301{ 301{
@@ -383,7 +383,7 @@ error:
383 383
384/*-------------------------------------------------------------------------*/ 384/*-------------------------------------------------------------------------*/
385 385
386static void rx_complete (struct urb *urb, struct pt_regs *regs) 386static void rx_complete (struct urb *urb)
387{ 387{
388 struct sk_buff *skb = (struct sk_buff *) urb->context; 388 struct sk_buff *skb = (struct sk_buff *) urb->context;
389 struct skb_data *entry = (struct skb_data *) skb->cb; 389 struct skb_data *entry = (struct skb_data *) skb->cb;
@@ -467,7 +467,7 @@ block:
467 devdbg (dev, "no read resubmitted"); 467 devdbg (dev, "no read resubmitted");
468} 468}
469 469
470static void intr_complete (struct urb *urb, struct pt_regs *regs) 470static void intr_complete (struct urb *urb)
471{ 471{
472 struct usbnet *dev = urb->context; 472 struct usbnet *dev = urb->context;
473 int status = urb->status; 473 int status = urb->status;
@@ -797,7 +797,7 @@ kevent (void *data)
797 797
798/*-------------------------------------------------------------------------*/ 798/*-------------------------------------------------------------------------*/
799 799
800static void tx_complete (struct urb *urb, struct pt_regs *regs) 800static void tx_complete (struct urb *urb)
801{ 801{
802 struct sk_buff *skb = (struct sk_buff *) urb->context; 802 struct sk_buff *skb = (struct sk_buff *) urb->context;
803 struct skb_data *entry = (struct skb_data *) skb->cb; 803 struct skb_data *entry = (struct skb_data *) skb->cb;
diff --git a/drivers/usb/serial/aircable.c b/drivers/usb/serial/aircable.c
index 2ccd9ded52a5..812275509137 100644
--- a/drivers/usb/serial/aircable.c
+++ b/drivers/usb/serial/aircable.c
@@ -403,7 +403,7 @@ static int aircable_write(struct usb_serial_port *port,
403 403
404} 404}
405 405
406static void aircable_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 406static void aircable_write_bulk_callback(struct urb *urb)
407{ 407{
408 struct usb_serial_port *port = urb->context; 408 struct usb_serial_port *port = urb->context;
409 int result; 409 int result;
@@ -444,7 +444,7 @@ static void aircable_write_bulk_callback(struct urb *urb, struct pt_regs *regs)
444 aircable_send(port); 444 aircable_send(port);
445} 445}
446 446
447static void aircable_read_bulk_callback(struct urb *urb, struct pt_regs *regs) 447static void aircable_read_bulk_callback(struct urb *urb)
448{ 448{
449 struct usb_serial_port *port = urb->context; 449 struct usb_serial_port *port = urb->context;
450 struct aircable_private *priv = usb_get_serial_port_data(port); 450 struct aircable_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/airprime.c b/drivers/usb/serial/airprime.c
index 6e1a84a858d4..2c19f19b255c 100644
--- a/drivers/usb/serial/airprime.c
+++ b/drivers/usb/serial/airprime.c
@@ -46,7 +46,7 @@ struct airprime_private {
46 struct urb *read_urbp[NUM_READ_URBS]; 46 struct urb *read_urbp[NUM_READ_URBS];
47}; 47};
48 48
49static void airprime_read_bulk_callback(struct urb *urb, struct pt_regs *regs) 49static void airprime_read_bulk_callback(struct urb *urb)
50{ 50{
51 struct usb_serial_port *port = urb->context; 51 struct usb_serial_port *port = urb->context;
52 unsigned char *data = urb->transfer_buffer; 52 unsigned char *data = urb->transfer_buffer;
@@ -80,7 +80,7 @@ static void airprime_read_bulk_callback(struct urb *urb, struct pt_regs *regs)
80 return; 80 return;
81} 81}
82 82
83static void airprime_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 83static void airprime_write_bulk_callback(struct urb *urb)
84{ 84{
85 struct usb_serial_port *port = urb->context; 85 struct usb_serial_port *port = urb->context;
86 struct airprime_private *priv = usb_get_serial_port_data(port); 86 struct airprime_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c
index 70ece9e01ce4..8835bb58ca9b 100644
--- a/drivers/usb/serial/belkin_sa.c
+++ b/drivers/usb/serial/belkin_sa.c
@@ -91,7 +91,7 @@ static int belkin_sa_startup (struct usb_serial *serial);
91static void belkin_sa_shutdown (struct usb_serial *serial); 91static void belkin_sa_shutdown (struct usb_serial *serial);
92static int belkin_sa_open (struct usb_serial_port *port, struct file *filp); 92static int belkin_sa_open (struct usb_serial_port *port, struct file *filp);
93static void belkin_sa_close (struct usb_serial_port *port, struct file *filp); 93static void belkin_sa_close (struct usb_serial_port *port, struct file *filp);
94static void belkin_sa_read_int_callback (struct urb *urb, struct pt_regs *regs); 94static void belkin_sa_read_int_callback (struct urb *urb);
95static void belkin_sa_set_termios (struct usb_serial_port *port, struct termios * old); 95static void belkin_sa_set_termios (struct usb_serial_port *port, struct termios * old);
96static int belkin_sa_ioctl (struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg); 96static int belkin_sa_ioctl (struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg);
97static void belkin_sa_break_ctl (struct usb_serial_port *port, int break_state ); 97static void belkin_sa_break_ctl (struct usb_serial_port *port, int break_state );
@@ -248,7 +248,7 @@ static void belkin_sa_close (struct usb_serial_port *port, struct file *filp)
248} /* belkin_sa_close */ 248} /* belkin_sa_close */
249 249
250 250
251static void belkin_sa_read_int_callback (struct urb *urb, struct pt_regs *regs) 251static void belkin_sa_read_int_callback (struct urb *urb)
252{ 252{
253 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 253 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
254 struct belkin_sa_private *priv; 254 struct belkin_sa_private *priv;
diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c
index d954ec34b018..a63c3286caa0 100644
--- a/drivers/usb/serial/cyberjack.c
+++ b/drivers/usb/serial/cyberjack.c
@@ -63,9 +63,9 @@ static int cyberjack_open (struct usb_serial_port *port, struct file *filp);
63static void cyberjack_close (struct usb_serial_port *port, struct file *filp); 63static void cyberjack_close (struct usb_serial_port *port, struct file *filp);
64static int cyberjack_write (struct usb_serial_port *port, const unsigned char *buf, int count); 64static int cyberjack_write (struct usb_serial_port *port, const unsigned char *buf, int count);
65static int cyberjack_write_room( struct usb_serial_port *port ); 65static int cyberjack_write_room( struct usb_serial_port *port );
66static void cyberjack_read_int_callback (struct urb *urb, struct pt_regs *regs); 66static void cyberjack_read_int_callback (struct urb *urb);
67static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 67static void cyberjack_read_bulk_callback (struct urb *urb);
68static void cyberjack_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 68static void cyberjack_write_bulk_callback (struct urb *urb);
69 69
70static struct usb_device_id id_table [] = { 70static struct usb_device_id id_table [] = {
71 { USB_DEVICE(CYBERJACK_VENDOR_ID, CYBERJACK_PRODUCT_ID) }, 71 { USB_DEVICE(CYBERJACK_VENDOR_ID, CYBERJACK_PRODUCT_ID) },
@@ -299,7 +299,7 @@ static int cyberjack_write_room( struct usb_serial_port *port )
299 return CYBERJACK_LOCAL_BUF_SIZE; 299 return CYBERJACK_LOCAL_BUF_SIZE;
300} 300}
301 301
302static void cyberjack_read_int_callback( struct urb *urb, struct pt_regs *regs ) 302static void cyberjack_read_int_callback( struct urb *urb )
303{ 303{
304 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 304 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
305 struct cyberjack_private *priv = usb_get_serial_port_data(port); 305 struct cyberjack_private *priv = usb_get_serial_port_data(port);
@@ -356,7 +356,7 @@ resubmit:
356 dbg("%s - usb_submit_urb(int urb)", __FUNCTION__); 356 dbg("%s - usb_submit_urb(int urb)", __FUNCTION__);
357} 357}
358 358
359static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 359static void cyberjack_read_bulk_callback (struct urb *urb)
360{ 360{
361 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 361 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
362 struct cyberjack_private *priv = usb_get_serial_port_data(port); 362 struct cyberjack_private *priv = usb_get_serial_port_data(port);
@@ -406,7 +406,7 @@ static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs)
406 } 406 }
407} 407}
408 408
409static void cyberjack_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 409static void cyberjack_write_bulk_callback (struct urb *urb)
410{ 410{
411 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 411 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
412 struct cyberjack_private *priv = usb_get_serial_port_data(port); 412 struct cyberjack_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index e1173c1aee37..f2e89a083659 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -172,8 +172,8 @@ static int cypress_chars_in_buffer (struct usb_serial_port *port);
172static void cypress_throttle (struct usb_serial_port *port); 172static void cypress_throttle (struct usb_serial_port *port);
173static void cypress_unthrottle (struct usb_serial_port *port); 173static void cypress_unthrottle (struct usb_serial_port *port);
174static void cypress_set_dead (struct usb_serial_port *port); 174static void cypress_set_dead (struct usb_serial_port *port);
175static void cypress_read_int_callback (struct urb *urb, struct pt_regs *regs); 175static void cypress_read_int_callback (struct urb *urb);
176static void cypress_write_int_callback (struct urb *urb, struct pt_regs *regs); 176static void cypress_write_int_callback (struct urb *urb);
177/* baud helper functions */ 177/* baud helper functions */
178static int mask_to_rate (unsigned mask); 178static int mask_to_rate (unsigned mask);
179static unsigned rate_to_mask (int rate); 179static unsigned rate_to_mask (int rate);
@@ -1275,7 +1275,7 @@ static void cypress_unthrottle (struct usb_serial_port *port)
1275} 1275}
1276 1276
1277 1277
1278static void cypress_read_int_callback(struct urb *urb, struct pt_regs *regs) 1278static void cypress_read_int_callback(struct urb *urb)
1279{ 1279{
1280 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1280 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
1281 struct cypress_private *priv = usb_get_serial_port_data(port); 1281 struct cypress_private *priv = usb_get_serial_port_data(port);
@@ -1426,7 +1426,7 @@ continue_read:
1426} /* cypress_read_int_callback */ 1426} /* cypress_read_int_callback */
1427 1427
1428 1428
1429static void cypress_write_int_callback(struct urb *urb, struct pt_regs *regs) 1429static void cypress_write_int_callback(struct urb *urb)
1430{ 1430{
1431 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1431 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
1432 struct cypress_private *priv = usb_get_serial_port_data(port); 1432 struct cypress_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
index 9b225183fc7a..bdb58100fc1d 100644
--- a/drivers/usb/serial/digi_acceleport.c
+++ b/drivers/usb/serial/digi_acceleport.c
@@ -456,7 +456,7 @@ static int digi_tiocmget( struct usb_serial_port *port, struct file *file );
456static int digi_tiocmset( struct usb_serial_port *port, struct file *file, 456static int digi_tiocmset( struct usb_serial_port *port, struct file *file,
457 unsigned int set, unsigned int clear ); 457 unsigned int set, unsigned int clear );
458static int digi_write( struct usb_serial_port *port, const unsigned char *buf, int count ); 458static int digi_write( struct usb_serial_port *port, const unsigned char *buf, int count );
459static void digi_write_bulk_callback( struct urb *urb, struct pt_regs *regs ); 459static void digi_write_bulk_callback( struct urb *urb );
460static int digi_write_room( struct usb_serial_port *port ); 460static int digi_write_room( struct usb_serial_port *port );
461static int digi_chars_in_buffer( struct usb_serial_port *port ); 461static int digi_chars_in_buffer( struct usb_serial_port *port );
462static int digi_open( struct usb_serial_port *port, struct file *filp ); 462static int digi_open( struct usb_serial_port *port, struct file *filp );
@@ -464,7 +464,7 @@ static void digi_close( struct usb_serial_port *port, struct file *filp );
464static int digi_startup_device( struct usb_serial *serial ); 464static int digi_startup_device( struct usb_serial *serial );
465static int digi_startup( struct usb_serial *serial ); 465static int digi_startup( struct usb_serial *serial );
466static void digi_shutdown( struct usb_serial *serial ); 466static void digi_shutdown( struct usb_serial *serial );
467static void digi_read_bulk_callback( struct urb *urb, struct pt_regs *regs ); 467static void digi_read_bulk_callback( struct urb *urb );
468static int digi_read_inb_callback( struct urb *urb ); 468static int digi_read_inb_callback( struct urb *urb );
469static int digi_read_oob_callback( struct urb *urb ); 469static int digi_read_oob_callback( struct urb *urb );
470 470
@@ -1336,7 +1336,7 @@ dbg( "digi_write: returning %d", ret );
1336} 1336}
1337 1337
1338 1338
1339static void digi_write_bulk_callback( struct urb *urb, struct pt_regs *regs ) 1339static void digi_write_bulk_callback( struct urb *urb )
1340{ 1340{
1341 1341
1342 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1342 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
@@ -1754,7 +1754,7 @@ dbg( "digi_shutdown: TOP, in_interrupt()=%ld", in_interrupt() );
1754} 1754}
1755 1755
1756 1756
1757static void digi_read_bulk_callback( struct urb *urb, struct pt_regs *regs ) 1757static void digi_read_bulk_callback( struct urb *urb )
1758{ 1758{
1759 1759
1760 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1760 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c
index daafe405d86d..4ce10a831953 100644
--- a/drivers/usb/serial/empeg.c
+++ b/drivers/usb/serial/empeg.c
@@ -93,8 +93,8 @@ static int empeg_ioctl (struct usb_serial_port *port,
93 unsigned int cmd, 93 unsigned int cmd,
94 unsigned long arg); 94 unsigned long arg);
95static void empeg_set_termios (struct usb_serial_port *port, struct termios *old_termios); 95static void empeg_set_termios (struct usb_serial_port *port, struct termios *old_termios);
96static void empeg_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 96static void empeg_write_bulk_callback (struct urb *urb);
97static void empeg_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 97static void empeg_read_bulk_callback (struct urb *urb);
98 98
99static struct usb_device_id id_table [] = { 99static struct usb_device_id id_table [] = {
100 { USB_DEVICE(EMPEG_VENDOR_ID, EMPEG_PRODUCT_ID) }, 100 { USB_DEVICE(EMPEG_VENDOR_ID, EMPEG_PRODUCT_ID) },
@@ -323,7 +323,7 @@ static int empeg_chars_in_buffer (struct usb_serial_port *port)
323} 323}
324 324
325 325
326static void empeg_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 326static void empeg_write_bulk_callback (struct urb *urb)
327{ 327{
328 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 328 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
329 329
@@ -338,7 +338,7 @@ static void empeg_write_bulk_callback (struct urb *urb, struct pt_regs *regs)
338} 338}
339 339
340 340
341static void empeg_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 341static void empeg_read_bulk_callback (struct urb *urb)
342{ 342{
343 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 343 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
344 struct tty_struct *tty; 344 struct tty_struct *tty;
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index e774a27c6c98..d3dc1a15ec6c 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -589,8 +589,8 @@ static void ftdi_close (struct usb_serial_port *port, struct file *filp);
589static int ftdi_write (struct usb_serial_port *port, const unsigned char *buf, int count); 589static int ftdi_write (struct usb_serial_port *port, const unsigned char *buf, int count);
590static int ftdi_write_room (struct usb_serial_port *port); 590static int ftdi_write_room (struct usb_serial_port *port);
591static int ftdi_chars_in_buffer (struct usb_serial_port *port); 591static int ftdi_chars_in_buffer (struct usb_serial_port *port);
592static void ftdi_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 592static void ftdi_write_bulk_callback (struct urb *urb);
593static void ftdi_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 593static void ftdi_read_bulk_callback (struct urb *urb);
594static void ftdi_process_read (void *param); 594static void ftdi_process_read (void *param);
595static void ftdi_set_termios (struct usb_serial_port *port, struct termios * old); 595static void ftdi_set_termios (struct usb_serial_port *port, struct termios * old);
596static int ftdi_tiocmget (struct usb_serial_port *port, struct file *file); 596static int ftdi_tiocmget (struct usb_serial_port *port, struct file *file);
@@ -1508,7 +1508,7 @@ static int ftdi_write (struct usb_serial_port *port,
1508 1508
1509/* This function may get called when the device is closed */ 1509/* This function may get called when the device is closed */
1510 1510
1511static void ftdi_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 1511static void ftdi_write_bulk_callback (struct urb *urb)
1512{ 1512{
1513 unsigned long flags; 1513 unsigned long flags;
1514 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1514 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
@@ -1591,7 +1591,7 @@ static int ftdi_chars_in_buffer (struct usb_serial_port *port)
1591 1591
1592 1592
1593 1593
1594static void ftdi_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 1594static void ftdi_read_bulk_callback (struct urb *urb)
1595{ /* ftdi_read_bulk_callback */ 1595{ /* ftdi_read_bulk_callback */
1596 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1596 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
1597 struct tty_struct *tty; 1597 struct tty_struct *tty;
diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
index 4b1196a8b09e..4543152a9966 100644
--- a/drivers/usb/serial/garmin_gps.c
+++ b/drivers/usb/serial/garmin_gps.c
@@ -1031,7 +1031,7 @@ static void garmin_close (struct usb_serial_port *port, struct file * filp)
1031} 1031}
1032 1032
1033 1033
1034static void garmin_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 1034static void garmin_write_bulk_callback (struct urb *urb)
1035{ 1035{
1036 unsigned long flags; 1036 unsigned long flags;
1037 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1037 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
@@ -1274,7 +1274,7 @@ static void garmin_read_process(struct garmin_data * garmin_data_p,
1274} 1274}
1275 1275
1276 1276
1277static void garmin_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 1277static void garmin_read_bulk_callback (struct urb *urb)
1278{ 1278{
1279 unsigned long flags; 1279 unsigned long flags;
1280 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1280 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
@@ -1330,7 +1330,7 @@ static void garmin_read_bulk_callback (struct urb *urb, struct pt_regs *regs)
1330} 1330}
1331 1331
1332 1332
1333static void garmin_read_int_callback (struct urb *urb, struct pt_regs *regs) 1333static void garmin_read_int_callback (struct urb *urb)
1334{ 1334{
1335 unsigned long flags; 1335 unsigned long flags;
1336 int status; 1336 int status;
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index 21cbaa0fb96b..36042937e77f 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -248,7 +248,7 @@ int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port)
248 return (chars); 248 return (chars);
249} 249}
250 250
251void usb_serial_generic_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 251void usb_serial_generic_read_bulk_callback (struct urb *urb)
252{ 252{
253 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 253 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
254 struct usb_serial *serial = port->serial; 254 struct usb_serial *serial = port->serial;
@@ -287,7 +287,7 @@ void usb_serial_generic_read_bulk_callback (struct urb *urb, struct pt_regs *reg
287} 287}
288EXPORT_SYMBOL_GPL(usb_serial_generic_read_bulk_callback); 288EXPORT_SYMBOL_GPL(usb_serial_generic_read_bulk_callback);
289 289
290void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 290void usb_serial_generic_write_bulk_callback (struct urb *urb)
291{ 291{
292 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 292 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
293 293
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
index c49976c3ad52..91bd3014ef1e 100644
--- a/drivers/usb/serial/io_edgeport.c
+++ b/drivers/usb/serial/io_edgeport.c
@@ -216,10 +216,10 @@ static int CmdUrbs = 0; /* Number of outstanding Command Write Urbs */
216/* local function prototypes */ 216/* local function prototypes */
217 217
218/* function prototypes for all URB callbacks */ 218/* function prototypes for all URB callbacks */
219static void edge_interrupt_callback (struct urb *urb, struct pt_regs *regs); 219static void edge_interrupt_callback (struct urb *urb);
220static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs); 220static void edge_bulk_in_callback (struct urb *urb);
221static void edge_bulk_out_data_callback (struct urb *urb, struct pt_regs *regs); 221static void edge_bulk_out_data_callback (struct urb *urb);
222static void edge_bulk_out_cmd_callback (struct urb *urb, struct pt_regs *regs); 222static void edge_bulk_out_cmd_callback (struct urb *urb);
223 223
224/* function prototypes for the usbserial callbacks */ 224/* function prototypes for the usbserial callbacks */
225static int edge_open (struct usb_serial_port *port, struct file *filp); 225static int edge_open (struct usb_serial_port *port, struct file *filp);
@@ -534,7 +534,7 @@ static void get_product_info(struct edgeport_serial *edge_serial)
534 * this is the callback function for when we have received data on the 534 * this is the callback function for when we have received data on the
535 * interrupt endpoint. 535 * interrupt endpoint.
536 *****************************************************************************/ 536 *****************************************************************************/
537static void edge_interrupt_callback (struct urb *urb, struct pt_regs *regs) 537static void edge_interrupt_callback (struct urb *urb)
538{ 538{
539 struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context; 539 struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context;
540 struct edgeport_port *edge_port; 540 struct edgeport_port *edge_port;
@@ -631,7 +631,7 @@ exit:
631 * this is the callback function for when we have received data on the 631 * this is the callback function for when we have received data on the
632 * bulk in endpoint. 632 * bulk in endpoint.
633 *****************************************************************************/ 633 *****************************************************************************/
634static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs) 634static void edge_bulk_in_callback (struct urb *urb)
635{ 635{
636 struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context; 636 struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context;
637 unsigned char *data = urb->transfer_buffer; 637 unsigned char *data = urb->transfer_buffer;
@@ -687,7 +687,7 @@ static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs)
687 * this is the callback function for when we have finished sending serial data 687 * this is the callback function for when we have finished sending serial data
688 * on the bulk out endpoint. 688 * on the bulk out endpoint.
689 *****************************************************************************/ 689 *****************************************************************************/
690static void edge_bulk_out_data_callback (struct urb *urb, struct pt_regs *regs) 690static void edge_bulk_out_data_callback (struct urb *urb)
691{ 691{
692 struct edgeport_port *edge_port = (struct edgeport_port *)urb->context; 692 struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;
693 struct tty_struct *tty; 693 struct tty_struct *tty;
@@ -718,7 +718,7 @@ static void edge_bulk_out_data_callback (struct urb *urb, struct pt_regs *regs)
718 * this is the callback function for when we have finished sending a command 718 * this is the callback function for when we have finished sending a command
719 * on the bulk out endpoint. 719 * on the bulk out endpoint.
720 *****************************************************************************/ 720 *****************************************************************************/
721static void edge_bulk_out_cmd_callback (struct urb *urb, struct pt_regs *regs) 721static void edge_bulk_out_cmd_callback (struct urb *urb)
722{ 722{
723 struct edgeport_port *edge_port = (struct edgeport_port *)urb->context; 723 struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;
724 struct tty_struct *tty; 724 struct tty_struct *tty;
diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
index 17c5b1d2311a..ee0c921e1520 100644
--- a/drivers/usb/serial/io_ti.c
+++ b/drivers/usb/serial/io_ti.c
@@ -1697,7 +1697,7 @@ static void handle_new_lsr (struct edgeport_port *edge_port, int lsr_data, __u8
1697} 1697}
1698 1698
1699 1699
1700static void edge_interrupt_callback (struct urb *urb, struct pt_regs *regs) 1700static void edge_interrupt_callback (struct urb *urb)
1701{ 1701{
1702 struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context; 1702 struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context;
1703 struct usb_serial_port *port; 1703 struct usb_serial_port *port;
@@ -1787,7 +1787,7 @@ exit:
1787 __FUNCTION__, status); 1787 __FUNCTION__, status);
1788} 1788}
1789 1789
1790static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs) 1790static void edge_bulk_in_callback (struct urb *urb)
1791{ 1791{
1792 struct edgeport_port *edge_port = (struct edgeport_port *)urb->context; 1792 struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;
1793 unsigned char *data = urb->transfer_buffer; 1793 unsigned char *data = urb->transfer_buffer;
@@ -1879,7 +1879,7 @@ static void edge_tty_recv(struct device *dev, struct tty_struct *tty, unsigned c
1879 tty_flip_buffer_push(tty); 1879 tty_flip_buffer_push(tty);
1880} 1880}
1881 1881
1882static void edge_bulk_out_callback (struct urb *urb, struct pt_regs *regs) 1882static void edge_bulk_out_callback (struct urb *urb)
1883{ 1883{
1884 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1884 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
1885 struct edgeport_port *edge_port = usb_get_serial_port_data(port); 1885 struct edgeport_port *edge_port = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c
index cbc725a6c58e..6238aff1e772 100644
--- a/drivers/usb/serial/ipaq.c
+++ b/drivers/usb/serial/ipaq.c
@@ -83,8 +83,8 @@ static int ipaq_write(struct usb_serial_port *port, const unsigned char *buf,
83static int ipaq_write_bulk(struct usb_serial_port *port, const unsigned char *buf, 83static int ipaq_write_bulk(struct usb_serial_port *port, const unsigned char *buf,
84 int count); 84 int count);
85static void ipaq_write_gather(struct usb_serial_port *port); 85static void ipaq_write_gather(struct usb_serial_port *port);
86static void ipaq_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 86static void ipaq_read_bulk_callback (struct urb *urb);
87static void ipaq_write_bulk_callback(struct urb *urb, struct pt_regs *regs); 87static void ipaq_write_bulk_callback(struct urb *urb);
88static int ipaq_write_room(struct usb_serial_port *port); 88static int ipaq_write_room(struct usb_serial_port *port);
89static int ipaq_chars_in_buffer(struct usb_serial_port *port); 89static int ipaq_chars_in_buffer(struct usb_serial_port *port);
90static void ipaq_destroy_lists(struct usb_serial_port *port); 90static void ipaq_destroy_lists(struct usb_serial_port *port);
@@ -721,7 +721,7 @@ static void ipaq_close(struct usb_serial_port *port, struct file *filp)
721 /* info ("Bytes In = %d Bytes Out = %d", bytes_in, bytes_out); */ 721 /* info ("Bytes In = %d Bytes Out = %d", bytes_in, bytes_out); */
722} 722}
723 723
724static void ipaq_read_bulk_callback(struct urb *urb, struct pt_regs *regs) 724static void ipaq_read_bulk_callback(struct urb *urb)
725{ 725{
726 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 726 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
727 struct tty_struct *tty; 727 struct tty_struct *tty;
@@ -859,7 +859,7 @@ static void ipaq_write_gather(struct usb_serial_port *port)
859 return; 859 return;
860} 860}
861 861
862static void ipaq_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 862static void ipaq_write_bulk_callback(struct urb *urb)
863{ 863{
864 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 864 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
865 struct ipaq_private *priv = usb_get_serial_port_data(port); 865 struct ipaq_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c
index 812bc213a963..2a4bb66691ad 100644
--- a/drivers/usb/serial/ipw.c
+++ b/drivers/usb/serial/ipw.c
@@ -161,7 +161,7 @@ static struct usb_driver usb_ipw_driver = {
161 161
162static int debug; 162static int debug;
163 163
164static void ipw_read_bulk_callback(struct urb *urb, struct pt_regs *regs) 164static void ipw_read_bulk_callback(struct urb *urb)
165{ 165{
166 struct usb_serial_port *port = urb->context; 166 struct usb_serial_port *port = urb->context;
167 unsigned char *data = urb->transfer_buffer; 167 unsigned char *data = urb->transfer_buffer;
@@ -367,7 +367,7 @@ static void ipw_close(struct usb_serial_port *port, struct file * filp)
367 usb_kill_urb(port->write_urb); 367 usb_kill_urb(port->write_urb);
368} 368}
369 369
370static void ipw_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 370static void ipw_write_bulk_callback(struct urb *urb)
371{ 371{
372 struct usb_serial_port *port = urb->context; 372 struct usb_serial_port *port = urb->context;
373 373
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
index 1b348df388ed..331bf81556fc 100644
--- a/drivers/usb/serial/ir-usb.c
+++ b/drivers/usb/serial/ir-usb.c
@@ -105,8 +105,8 @@ static int ir_startup (struct usb_serial *serial);
105static int ir_open (struct usb_serial_port *port, struct file *filep); 105static int ir_open (struct usb_serial_port *port, struct file *filep);
106static void ir_close (struct usb_serial_port *port, struct file *filep); 106static void ir_close (struct usb_serial_port *port, struct file *filep);
107static int ir_write (struct usb_serial_port *port, const unsigned char *buf, int count); 107static int ir_write (struct usb_serial_port *port, const unsigned char *buf, int count);
108static void ir_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 108static void ir_write_bulk_callback (struct urb *urb);
109static void ir_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 109static void ir_read_bulk_callback (struct urb *urb);
110static void ir_set_termios (struct usb_serial_port *port, struct termios *old_termios); 110static void ir_set_termios (struct usb_serial_port *port, struct termios *old_termios);
111 111
112static u8 ir_baud = 0; 112static u8 ir_baud = 0;
@@ -388,7 +388,7 @@ static int ir_write (struct usb_serial_port *port, const unsigned char *buf, int
388 return result; 388 return result;
389} 389}
390 390
391static void ir_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 391static void ir_write_bulk_callback (struct urb *urb)
392{ 392{
393 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 393 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
394 394
@@ -410,7 +410,7 @@ static void ir_write_bulk_callback (struct urb *urb, struct pt_regs *regs)
410 usb_serial_port_softint(port); 410 usb_serial_port_softint(port);
411} 411}
412 412
413static void ir_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 413static void ir_read_bulk_callback (struct urb *urb)
414{ 414{
415 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 415 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
416 struct tty_struct *tty; 416 struct tty_struct *tty;
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
index 015ad6cc1bbb..53be824eb1bf 100644
--- a/drivers/usb/serial/keyspan.c
+++ b/drivers/usb/serial/keyspan.c
@@ -412,7 +412,7 @@ static int keyspan_write(struct usb_serial_port *port,
412 return count - left; 412 return count - left;
413} 413}
414 414
415static void usa26_indat_callback(struct urb *urb, struct pt_regs *regs) 415static void usa26_indat_callback(struct urb *urb)
416{ 416{
417 int i, err; 417 int i, err;
418 int endpoint; 418 int endpoint;
@@ -470,7 +470,7 @@ static void usa26_indat_callback(struct urb *urb, struct pt_regs *regs)
470} 470}
471 471
472 /* Outdat handling is common for all devices */ 472 /* Outdat handling is common for all devices */
473static void usa2x_outdat_callback(struct urb *urb, struct pt_regs *regs) 473static void usa2x_outdat_callback(struct urb *urb)
474{ 474{
475 struct usb_serial_port *port; 475 struct usb_serial_port *port;
476 struct keyspan_port_private *p_priv; 476 struct keyspan_port_private *p_priv;
@@ -483,13 +483,13 @@ static void usa2x_outdat_callback(struct urb *urb, struct pt_regs *regs)
483 usb_serial_port_softint(port); 483 usb_serial_port_softint(port);
484} 484}
485 485
486static void usa26_inack_callback(struct urb *urb, struct pt_regs *regs) 486static void usa26_inack_callback(struct urb *urb)
487{ 487{
488 dbg ("%s", __FUNCTION__); 488 dbg ("%s", __FUNCTION__);
489 489
490} 490}
491 491
492static void usa26_outcont_callback(struct urb *urb, struct pt_regs *regs) 492static void usa26_outcont_callback(struct urb *urb)
493{ 493{
494 struct usb_serial_port *port; 494 struct usb_serial_port *port;
495 struct keyspan_port_private *p_priv; 495 struct keyspan_port_private *p_priv;
@@ -503,7 +503,7 @@ static void usa26_outcont_callback(struct urb *urb, struct pt_regs *regs)
503 } 503 }
504} 504}
505 505
506static void usa26_instat_callback(struct urb *urb, struct pt_regs *regs) 506static void usa26_instat_callback(struct urb *urb)
507{ 507{
508 unsigned char *data = urb->transfer_buffer; 508 unsigned char *data = urb->transfer_buffer;
509 struct keyspan_usa26_portStatusMessage *msg; 509 struct keyspan_usa26_portStatusMessage *msg;
@@ -565,14 +565,14 @@ static void usa26_instat_callback(struct urb *urb, struct pt_regs *regs)
565exit: ; 565exit: ;
566} 566}
567 567
568static void usa26_glocont_callback(struct urb *urb, struct pt_regs *regs) 568static void usa26_glocont_callback(struct urb *urb)
569{ 569{
570 dbg ("%s", __FUNCTION__); 570 dbg ("%s", __FUNCTION__);
571 571
572} 572}
573 573
574 574
575static void usa28_indat_callback(struct urb *urb, struct pt_regs *regs) 575static void usa28_indat_callback(struct urb *urb)
576{ 576{
577 int i, err; 577 int i, err;
578 struct usb_serial_port *port; 578 struct usb_serial_port *port;
@@ -620,12 +620,12 @@ static void usa28_indat_callback(struct urb *urb, struct pt_regs *regs)
620 } while (urb->status != -EINPROGRESS); 620 } while (urb->status != -EINPROGRESS);
621} 621}
622 622
623static void usa28_inack_callback(struct urb *urb, struct pt_regs *regs) 623static void usa28_inack_callback(struct urb *urb)
624{ 624{
625 dbg ("%s", __FUNCTION__); 625 dbg ("%s", __FUNCTION__);
626} 626}
627 627
628static void usa28_outcont_callback(struct urb *urb, struct pt_regs *regs) 628static void usa28_outcont_callback(struct urb *urb)
629{ 629{
630 struct usb_serial_port *port; 630 struct usb_serial_port *port;
631 struct keyspan_port_private *p_priv; 631 struct keyspan_port_private *p_priv;
@@ -639,7 +639,7 @@ static void usa28_outcont_callback(struct urb *urb, struct pt_regs *regs)
639 } 639 }
640} 640}
641 641
642static void usa28_instat_callback(struct urb *urb, struct pt_regs *regs) 642static void usa28_instat_callback(struct urb *urb)
643{ 643{
644 int err; 644 int err;
645 unsigned char *data = urb->transfer_buffer; 645 unsigned char *data = urb->transfer_buffer;
@@ -700,13 +700,13 @@ static void usa28_instat_callback(struct urb *urb, struct pt_regs *regs)
700exit: ; 700exit: ;
701} 701}
702 702
703static void usa28_glocont_callback(struct urb *urb, struct pt_regs *regs) 703static void usa28_glocont_callback(struct urb *urb)
704{ 704{
705 dbg ("%s", __FUNCTION__); 705 dbg ("%s", __FUNCTION__);
706} 706}
707 707
708 708
709static void usa49_glocont_callback(struct urb *urb, struct pt_regs *regs) 709static void usa49_glocont_callback(struct urb *urb)
710{ 710{
711 struct usb_serial *serial; 711 struct usb_serial *serial;
712 struct usb_serial_port *port; 712 struct usb_serial_port *port;
@@ -730,7 +730,7 @@ static void usa49_glocont_callback(struct urb *urb, struct pt_regs *regs)
730 730
731 /* This is actually called glostat in the Keyspan 731 /* This is actually called glostat in the Keyspan
732 doco */ 732 doco */
733static void usa49_instat_callback(struct urb *urb, struct pt_regs *regs) 733static void usa49_instat_callback(struct urb *urb)
734{ 734{
735 int err; 735 int err;
736 unsigned char *data = urb->transfer_buffer; 736 unsigned char *data = urb->transfer_buffer;
@@ -793,12 +793,12 @@ static void usa49_instat_callback(struct urb *urb, struct pt_regs *regs)
793exit: ; 793exit: ;
794} 794}
795 795
796static void usa49_inack_callback(struct urb *urb, struct pt_regs *regs) 796static void usa49_inack_callback(struct urb *urb)
797{ 797{
798 dbg ("%s", __FUNCTION__); 798 dbg ("%s", __FUNCTION__);
799} 799}
800 800
801static void usa49_indat_callback(struct urb *urb, struct pt_regs *regs) 801static void usa49_indat_callback(struct urb *urb)
802{ 802{
803 int i, err; 803 int i, err;
804 int endpoint; 804 int endpoint;
@@ -851,12 +851,12 @@ static void usa49_indat_callback(struct urb *urb, struct pt_regs *regs)
851} 851}
852 852
853/* not used, usa-49 doesn't have per-port control endpoints */ 853/* not used, usa-49 doesn't have per-port control endpoints */
854static void usa49_outcont_callback(struct urb *urb, struct pt_regs *regs) 854static void usa49_outcont_callback(struct urb *urb)
855{ 855{
856 dbg ("%s", __FUNCTION__); 856 dbg ("%s", __FUNCTION__);
857} 857}
858 858
859static void usa90_indat_callback(struct urb *urb, struct pt_regs *regs) 859static void usa90_indat_callback(struct urb *urb)
860{ 860{
861 int i, err; 861 int i, err;
862 int endpoint; 862 int endpoint;
@@ -930,7 +930,7 @@ static void usa90_indat_callback(struct urb *urb, struct pt_regs *regs)
930} 930}
931 931
932 932
933static void usa90_instat_callback(struct urb *urb, struct pt_regs *regs) 933static void usa90_instat_callback(struct urb *urb)
934{ 934{
935 unsigned char *data = urb->transfer_buffer; 935 unsigned char *data = urb->transfer_buffer;
936 struct keyspan_usa90_portStatusMessage *msg; 936 struct keyspan_usa90_portStatusMessage *msg;
@@ -981,7 +981,7 @@ exit:
981 ; 981 ;
982} 982}
983 983
984static void usa90_outcont_callback(struct urb *urb, struct pt_regs *regs) 984static void usa90_outcont_callback(struct urb *urb)
985{ 985{
986 struct usb_serial_port *port; 986 struct usb_serial_port *port;
987 struct keyspan_port_private *p_priv; 987 struct keyspan_port_private *p_priv;
@@ -1277,7 +1277,7 @@ static int keyspan_fake_startup (struct usb_serial *serial)
1277/* Helper functions used by keyspan_setup_urbs */ 1277/* Helper functions used by keyspan_setup_urbs */
1278static struct urb *keyspan_setup_urb (struct usb_serial *serial, int endpoint, 1278static struct urb *keyspan_setup_urb (struct usb_serial *serial, int endpoint,
1279 int dir, void *ctx, char *buf, int len, 1279 int dir, void *ctx, char *buf, int len,
1280 void (*callback)(struct urb *, struct pt_regs *regs)) 1280 void (*callback)(struct urb *))
1281{ 1281{
1282 struct urb *urb; 1282 struct urb *urb;
1283 1283
@@ -1300,12 +1300,12 @@ static struct urb *keyspan_setup_urb (struct usb_serial *serial, int endpoint,
1300} 1300}
1301 1301
1302static struct callbacks { 1302static struct callbacks {
1303 void (*instat_callback)(struct urb *, struct pt_regs *regs); 1303 void (*instat_callback)(struct urb *);
1304 void (*glocont_callback)(struct urb *, struct pt_regs *regs); 1304 void (*glocont_callback)(struct urb *);
1305 void (*indat_callback)(struct urb *, struct pt_regs *regs); 1305 void (*indat_callback)(struct urb *);
1306 void (*outdat_callback)(struct urb *, struct pt_regs *regs); 1306 void (*outdat_callback)(struct urb *);
1307 void (*inack_callback)(struct urb *, struct pt_regs *regs); 1307 void (*inack_callback)(struct urb *);
1308 void (*outcont_callback)(struct urb *, struct pt_regs *regs); 1308 void (*outcont_callback)(struct urb *);
1309} keyspan_callbacks[] = { 1309} keyspan_callbacks[] = {
1310 { 1310 {
1311 /* msg_usa26 callbacks */ 1311 /* msg_usa26 callbacks */
diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c
index 59e777f1e8fd..909005107ea2 100644
--- a/drivers/usb/serial/keyspan_pda.c
+++ b/drivers/usb/serial/keyspan_pda.c
@@ -210,7 +210,7 @@ static void keyspan_pda_request_unthrottle( struct usb_serial *serial )
210} 210}
211 211
212 212
213static void keyspan_pda_rx_interrupt (struct urb *urb, struct pt_regs *regs) 213static void keyspan_pda_rx_interrupt (struct urb *urb)
214{ 214{
215 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 215 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
216 struct tty_struct *tty = port->tty; 216 struct tty_struct *tty = port->tty;
@@ -601,7 +601,7 @@ exit:
601} 601}
602 602
603 603
604static void keyspan_pda_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 604static void keyspan_pda_write_bulk_callback (struct urb *urb)
605{ 605{
606 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 606 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
607 struct keyspan_pda_private *priv; 607 struct keyspan_pda_private *priv;
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c
index 2a2f3e2da055..17e205699c2b 100644
--- a/drivers/usb/serial/kl5kusb105.c
+++ b/drivers/usb/serial/kl5kusb105.c
@@ -80,11 +80,11 @@ static void klsi_105_close (struct usb_serial_port *port,
80static int klsi_105_write (struct usb_serial_port *port, 80static int klsi_105_write (struct usb_serial_port *port,
81 const unsigned char *buf, 81 const unsigned char *buf,
82 int count); 82 int count);
83static void klsi_105_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 83static void klsi_105_write_bulk_callback (struct urb *urb);
84static int klsi_105_chars_in_buffer (struct usb_serial_port *port); 84static int klsi_105_chars_in_buffer (struct usb_serial_port *port);
85static int klsi_105_write_room (struct usb_serial_port *port); 85static int klsi_105_write_room (struct usb_serial_port *port);
86 86
87static void klsi_105_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 87static void klsi_105_read_bulk_callback (struct urb *urb);
88static void klsi_105_set_termios (struct usb_serial_port *port, 88static void klsi_105_set_termios (struct usb_serial_port *port,
89 struct termios * old); 89 struct termios * old);
90static int klsi_105_ioctl (struct usb_serial_port *port, 90static int klsi_105_ioctl (struct usb_serial_port *port,
@@ -556,7 +556,7 @@ exit:
556 return bytes_sent; /* that's how much we wrote */ 556 return bytes_sent; /* that's how much we wrote */
557} /* klsi_105_write */ 557} /* klsi_105_write */
558 558
559static void klsi_105_write_bulk_callback ( struct urb *urb, struct pt_regs *regs) 559static void klsi_105_write_bulk_callback ( struct urb *urb)
560{ 560{
561 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 561 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
562 562
@@ -616,7 +616,7 @@ static int klsi_105_write_room (struct usb_serial_port *port)
616 616
617 617
618 618
619static void klsi_105_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 619static void klsi_105_read_bulk_callback (struct urb *urb)
620{ 620{
621 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 621 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
622 struct klsi_105_private *priv = usb_get_serial_port_data(port); 622 struct klsi_105_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c
index d50dce034958..ff03331e0bcf 100644
--- a/drivers/usb/serial/kobil_sct.c
+++ b/drivers/usb/serial/kobil_sct.c
@@ -80,8 +80,8 @@ static int kobil_ioctl(struct usb_serial_port *port, struct file *file,
80static int kobil_tiocmget(struct usb_serial_port *port, struct file *file); 80static int kobil_tiocmget(struct usb_serial_port *port, struct file *file);
81static int kobil_tiocmset(struct usb_serial_port *port, struct file *file, 81static int kobil_tiocmset(struct usb_serial_port *port, struct file *file,
82 unsigned int set, unsigned int clear); 82 unsigned int set, unsigned int clear);
83static void kobil_read_int_callback( struct urb *urb, struct pt_regs *regs ); 83static void kobil_read_int_callback( struct urb *urb );
84static void kobil_write_callback( struct urb *purb, struct pt_regs *regs ); 84static void kobil_write_callback( struct urb *purb );
85 85
86 86
87static struct usb_device_id id_table [] = { 87static struct usb_device_id id_table [] = {
@@ -360,7 +360,7 @@ static void kobil_close (struct usb_serial_port *port, struct file *filp)
360} 360}
361 361
362 362
363static void kobil_read_int_callback( struct urb *purb, struct pt_regs *regs) 363static void kobil_read_int_callback( struct urb *purb)
364{ 364{
365 int result; 365 int result;
366 struct usb_serial_port *port = (struct usb_serial_port *) purb->context; 366 struct usb_serial_port *port = (struct usb_serial_port *) purb->context;
@@ -405,7 +405,7 @@ static void kobil_read_int_callback( struct urb *purb, struct pt_regs *regs)
405} 405}
406 406
407 407
408static void kobil_write_callback( struct urb *purb, struct pt_regs *regs ) 408static void kobil_write_callback( struct urb *purb )
409{ 409{
410} 410}
411 411
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
index f4d4305c2c02..b7582cc496dc 100644
--- a/drivers/usb/serial/mct_u232.c
+++ b/drivers/usb/serial/mct_u232.c
@@ -96,7 +96,7 @@ static int mct_u232_open (struct usb_serial_port *port,
96 struct file *filp); 96 struct file *filp);
97static void mct_u232_close (struct usb_serial_port *port, 97static void mct_u232_close (struct usb_serial_port *port,
98 struct file *filp); 98 struct file *filp);
99static void mct_u232_read_int_callback (struct urb *urb, struct pt_regs *regs); 99static void mct_u232_read_int_callback (struct urb *urb);
100static void mct_u232_set_termios (struct usb_serial_port *port, 100static void mct_u232_set_termios (struct usb_serial_port *port,
101 struct termios * old); 101 struct termios * old);
102static int mct_u232_ioctl (struct usb_serial_port *port, 102static int mct_u232_ioctl (struct usb_serial_port *port,
@@ -466,7 +466,7 @@ static void mct_u232_close (struct usb_serial_port *port, struct file *filp)
466} /* mct_u232_close */ 466} /* mct_u232_close */
467 467
468 468
469static void mct_u232_read_int_callback (struct urb *urb, struct pt_regs *regs) 469static void mct_u232_read_int_callback (struct urb *urb)
470{ 470{
471 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 471 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
472 struct mct_u232_private *priv = usb_get_serial_port_data(port); 472 struct mct_u232_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
index 95bf57166c59..2306d493e55b 100644
--- a/drivers/usb/serial/mos7840.c
+++ b/drivers/usb/serial/mos7840.c
@@ -421,7 +421,7 @@ static int mos7840_handle_new_lsr(struct moschip_port *port, __u8 new_lsr)
421/************************************************************************/ 421/************************************************************************/
422/************************************************************************/ 422/************************************************************************/
423 423
424static void mos7840_control_callback(struct urb *urb, struct pt_regs *regs) 424static void mos7840_control_callback(struct urb *urb)
425{ 425{
426 unsigned char *data; 426 unsigned char *data;
427 struct moschip_port *mos7840_port; 427 struct moschip_port *mos7840_port;
@@ -497,7 +497,7 @@ static int mos7840_get_reg(struct moschip_port *mcs, __u16 Wval, __u16 reg,
497 * interrupt endpoint. 497 * interrupt endpoint.
498 *****************************************************************************/ 498 *****************************************************************************/
499 499
500static void mos7840_interrupt_callback(struct urb *urb, struct pt_regs *regs) 500static void mos7840_interrupt_callback(struct urb *urb)
501{ 501{
502 int result; 502 int result;
503 int length; 503 int length;
@@ -647,7 +647,7 @@ static struct usb_serial *mos7840_get_usb_serial(struct usb_serial_port *port,
647 * bulk in endpoint. 647 * bulk in endpoint.
648 *****************************************************************************/ 648 *****************************************************************************/
649 649
650static void mos7840_bulk_in_callback(struct urb *urb, struct pt_regs *regs) 650static void mos7840_bulk_in_callback(struct urb *urb)
651{ 651{
652 int status; 652 int status;
653 unsigned char *data; 653 unsigned char *data;
@@ -726,8 +726,7 @@ static void mos7840_bulk_in_callback(struct urb *urb, struct pt_regs *regs)
726 * on the bulk out endpoint. 726 * on the bulk out endpoint.
727 *****************************************************************************/ 727 *****************************************************************************/
728 728
729static void mos7840_bulk_out_data_callback(struct urb *urb, 729static void mos7840_bulk_out_data_callback(struct urb *urb)
730 struct pt_regs *regs)
731{ 730{
732 struct moschip_port *mos7840_port; 731 struct moschip_port *mos7840_port;
733 struct tty_struct *tty; 732 struct tty_struct *tty;
diff --git a/drivers/usb/serial/navman.c b/drivers/usb/serial/navman.c
index ac3f8b5d2c49..0610409a6568 100644
--- a/drivers/usb/serial/navman.c
+++ b/drivers/usb/serial/navman.c
@@ -32,7 +32,7 @@ static struct usb_driver navman_driver = {
32 .no_dynamic_id = 1, 32 .no_dynamic_id = 1,
33}; 33};
34 34
35static void navman_read_int_callback(struct urb *urb, struct pt_regs *regs) 35static void navman_read_int_callback(struct urb *urb)
36{ 36{
37 struct usb_serial_port *port = urb->context; 37 struct usb_serial_port *port = urb->context;
38 unsigned char *data = urb->transfer_buffer; 38 unsigned char *data = urb->transfer_buffer;
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c
index a764ff4e326c..bc91d3b726fc 100644
--- a/drivers/usb/serial/omninet.c
+++ b/drivers/usb/serial/omninet.c
@@ -64,8 +64,8 @@ static int debug;
64/* function prototypes */ 64/* function prototypes */
65static int omninet_open (struct usb_serial_port *port, struct file *filp); 65static int omninet_open (struct usb_serial_port *port, struct file *filp);
66static void omninet_close (struct usb_serial_port *port, struct file *filp); 66static void omninet_close (struct usb_serial_port *port, struct file *filp);
67static void omninet_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 67static void omninet_read_bulk_callback (struct urb *urb);
68static void omninet_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 68static void omninet_write_bulk_callback (struct urb *urb);
69static int omninet_write (struct usb_serial_port *port, const unsigned char *buf, int count); 69static int omninet_write (struct usb_serial_port *port, const unsigned char *buf, int count);
70static int omninet_write_room (struct usb_serial_port *port); 70static int omninet_write_room (struct usb_serial_port *port);
71static void omninet_shutdown (struct usb_serial *serial); 71static void omninet_shutdown (struct usb_serial *serial);
@@ -194,7 +194,7 @@ static void omninet_close (struct usb_serial_port *port, struct file * filp)
194#define OMNINET_HEADERLEN sizeof(struct omninet_header) 194#define OMNINET_HEADERLEN sizeof(struct omninet_header)
195#define OMNINET_BULKOUTSIZE (64 - OMNINET_HEADERLEN) 195#define OMNINET_BULKOUTSIZE (64 - OMNINET_HEADERLEN)
196 196
197static void omninet_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 197static void omninet_read_bulk_callback (struct urb *urb)
198{ 198{
199 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 199 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
200 unsigned char *data = urb->transfer_buffer; 200 unsigned char *data = urb->transfer_buffer;
@@ -306,7 +306,7 @@ static int omninet_write_room (struct usb_serial_port *port)
306 return (room); 306 return (room);
307} 307}
308 308
309static void omninet_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 309static void omninet_write_bulk_callback (struct urb *urb)
310{ 310{
311/* struct omninet_header *header = (struct omninet_header *) urb->transfer_buffer; */ 311/* struct omninet_header *header = (struct omninet_header *) urb->transfer_buffer; */
312 struct usb_serial_port *port = (struct usb_serial_port *) urb->context; 312 struct usb_serial_port *port = (struct usb_serial_port *) urb->context;
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index c856e6f40e22..130afbbd3fca 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -50,7 +50,7 @@ static void option_rx_throttle(struct usb_serial_port *port);
50static void option_rx_unthrottle(struct usb_serial_port *port); 50static void option_rx_unthrottle(struct usb_serial_port *port);
51static int option_write_room(struct usb_serial_port *port); 51static int option_write_room(struct usb_serial_port *port);
52 52
53static void option_instat_callback(struct urb *urb, struct pt_regs *regs); 53static void option_instat_callback(struct urb *urb);
54 54
55static int option_write(struct usb_serial_port *port, 55static int option_write(struct usb_serial_port *port,
56 const unsigned char *buf, int count); 56 const unsigned char *buf, int count);
@@ -337,7 +337,7 @@ static int option_write(struct usb_serial_port *port,
337 return count; 337 return count;
338} 338}
339 339
340static void option_indat_callback(struct urb *urb, struct pt_regs *regs) 340static void option_indat_callback(struct urb *urb)
341{ 341{
342 int err; 342 int err;
343 int endpoint; 343 int endpoint;
@@ -374,7 +374,7 @@ static void option_indat_callback(struct urb *urb, struct pt_regs *regs)
374 return; 374 return;
375} 375}
376 376
377static void option_outdat_callback(struct urb *urb, struct pt_regs *regs) 377static void option_outdat_callback(struct urb *urb)
378{ 378{
379 struct usb_serial_port *port; 379 struct usb_serial_port *port;
380 380
@@ -385,7 +385,7 @@ static void option_outdat_callback(struct urb *urb, struct pt_regs *regs)
385 usb_serial_port_softint(port); 385 usb_serial_port_softint(port);
386} 386}
387 387
388static void option_instat_callback(struct urb *urb, struct pt_regs *regs) 388static void option_instat_callback(struct urb *urb)
389{ 389{
390 int err; 390 int err;
391 struct usb_serial_port *port = (struct usb_serial_port *) urb->context; 391 struct usb_serial_port *port = (struct usb_serial_port *) urb->context;
@@ -565,7 +565,7 @@ static void option_close(struct usb_serial_port *port, struct file *filp)
565/* Helper functions used by option_setup_urbs */ 565/* Helper functions used by option_setup_urbs */
566static struct urb *option_setup_urb(struct usb_serial *serial, int endpoint, 566static struct urb *option_setup_urb(struct usb_serial *serial, int endpoint,
567 int dir, void *ctx, char *buf, int len, 567 int dir, void *ctx, char *buf, int len,
568 void (*callback)(struct urb *, struct pt_regs *regs)) 568 void (*callback)(struct urb *))
569{ 569{
570 struct urb *urb; 570 struct urb *urb;
571 571
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 9c18173e33fb..bc800c8787a8 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -948,7 +948,7 @@ static void pl2303_update_line_status(struct usb_serial_port *port,
948 wake_up_interruptible(&priv->delta_msr_wait); 948 wake_up_interruptible(&priv->delta_msr_wait);
949} 949}
950 950
951static void pl2303_read_int_callback(struct urb *urb, struct pt_regs *regs) 951static void pl2303_read_int_callback(struct urb *urb)
952{ 952{
953 struct usb_serial_port *port = (struct usb_serial_port *) urb->context; 953 struct usb_serial_port *port = (struct usb_serial_port *) urb->context;
954 unsigned char *data = urb->transfer_buffer; 954 unsigned char *data = urb->transfer_buffer;
@@ -987,7 +987,7 @@ exit:
987 __FUNCTION__, status); 987 __FUNCTION__, status);
988} 988}
989 989
990static void pl2303_read_bulk_callback(struct urb *urb, struct pt_regs *regs) 990static void pl2303_read_bulk_callback(struct urb *urb)
991{ 991{
992 struct usb_serial_port *port = (struct usb_serial_port *) urb->context; 992 struct usb_serial_port *port = (struct usb_serial_port *) urb->context;
993 struct pl2303_private *priv = usb_get_serial_port_data(port); 993 struct pl2303_private *priv = usb_get_serial_port_data(port);
@@ -1070,7 +1070,7 @@ static void pl2303_read_bulk_callback(struct urb *urb, struct pt_regs *regs)
1070 return; 1070 return;
1071} 1071}
1072 1072
1073static void pl2303_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 1073static void pl2303_write_bulk_callback(struct urb *urb)
1074{ 1074{
1075 struct usb_serial_port *port = (struct usb_serial_port *) urb->context; 1075 struct usb_serial_port *port = (struct usb_serial_port *) urb->context;
1076 struct pl2303_private *priv = usb_get_serial_port_data(port); 1076 struct pl2303_private *priv = usb_get_serial_port_data(port);
diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c
index 1e07dfad6853..30b7ebc8d45d 100644
--- a/drivers/usb/serial/safe_serial.c
+++ b/drivers/usb/serial/safe_serial.c
@@ -204,7 +204,7 @@ static __u16 __inline__ fcs_compute10 (unsigned char *sp, int len, __u16 fcs)
204 return fcs; 204 return fcs;
205} 205}
206 206
207static void safe_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 207static void safe_read_bulk_callback (struct urb *urb)
208{ 208{
209 struct usb_serial_port *port = (struct usb_serial_port *) urb->context; 209 struct usb_serial_port *port = (struct usb_serial_port *) urb->context;
210 unsigned char *data = urb->transfer_buffer; 210 unsigned char *data = urb->transfer_buffer;
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index ac9b8ee52d44..07400c0c8a8c 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -166,9 +166,9 @@ static int ti_tiocmget(struct usb_serial_port *port, struct file *file);
166static int ti_tiocmset(struct usb_serial_port *port, struct file *file, 166static int ti_tiocmset(struct usb_serial_port *port, struct file *file,
167 unsigned int set, unsigned int clear); 167 unsigned int set, unsigned int clear);
168static void ti_break(struct usb_serial_port *port, int break_state); 168static void ti_break(struct usb_serial_port *port, int break_state);
169static void ti_interrupt_callback(struct urb *urb, struct pt_regs *regs); 169static void ti_interrupt_callback(struct urb *urb);
170static void ti_bulk_in_callback(struct urb *urb, struct pt_regs *regs); 170static void ti_bulk_in_callback(struct urb *urb);
171static void ti_bulk_out_callback(struct urb *urb, struct pt_regs *regs); 171static void ti_bulk_out_callback(struct urb *urb);
172 172
173static void ti_recv(struct device *dev, struct tty_struct *tty, 173static void ti_recv(struct device *dev, struct tty_struct *tty,
174 unsigned char *data, int length); 174 unsigned char *data, int length);
@@ -1098,7 +1098,7 @@ static void ti_break(struct usb_serial_port *port, int break_state)
1098} 1098}
1099 1099
1100 1100
1101static void ti_interrupt_callback(struct urb *urb, struct pt_regs *regs) 1101static void ti_interrupt_callback(struct urb *urb)
1102{ 1102{
1103 struct ti_device *tdev = (struct ti_device *)urb->context; 1103 struct ti_device *tdev = (struct ti_device *)urb->context;
1104 struct usb_serial_port *port; 1104 struct usb_serial_port *port;
@@ -1178,7 +1178,7 @@ exit:
1178} 1178}
1179 1179
1180 1180
1181static void ti_bulk_in_callback(struct urb *urb, struct pt_regs *regs) 1181static void ti_bulk_in_callback(struct urb *urb)
1182{ 1182{
1183 struct ti_port *tport = (struct ti_port *)urb->context; 1183 struct ti_port *tport = (struct ti_port *)urb->context;
1184 struct usb_serial_port *port = tport->tp_port; 1184 struct usb_serial_port *port = tport->tp_port;
@@ -1241,7 +1241,7 @@ exit:
1241} 1241}
1242 1242
1243 1243
1244static void ti_bulk_out_callback(struct urb *urb, struct pt_regs *regs) 1244static void ti_bulk_out_callback(struct urb *urb)
1245{ 1245{
1246 struct ti_port *tport = (struct ti_port *)urb->context; 1246 struct ti_port *tport = (struct ti_port *)urb->context;
1247 struct usb_serial_port *port = tport->tp_port; 1247 struct usb_serial_port *port = tport->tp_port;
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index 88949f7884ca..befe2e11a041 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -47,9 +47,9 @@ static int visor_calc_num_ports(struct usb_serial *serial);
47static void visor_shutdown (struct usb_serial *serial); 47static void visor_shutdown (struct usb_serial *serial);
48static int visor_ioctl (struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg); 48static int visor_ioctl (struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg);
49static void visor_set_termios (struct usb_serial_port *port, struct termios *old_termios); 49static void visor_set_termios (struct usb_serial_port *port, struct termios *old_termios);
50static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs); 50static void visor_write_bulk_callback (struct urb *urb);
51static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs); 51static void visor_read_bulk_callback (struct urb *urb);
52static void visor_read_int_callback (struct urb *urb, struct pt_regs *regs); 52static void visor_read_int_callback (struct urb *urb);
53static int clie_3_5_startup (struct usb_serial *serial); 53static int clie_3_5_startup (struct usb_serial *serial);
54static int treo_attach (struct usb_serial *serial); 54static int treo_attach (struct usb_serial *serial);
55static int clie_5_attach (struct usb_serial *serial); 55static int clie_5_attach (struct usb_serial *serial);
@@ -471,7 +471,7 @@ static int visor_chars_in_buffer (struct usb_serial_port *port)
471} 471}
472 472
473 473
474static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs) 474static void visor_write_bulk_callback (struct urb *urb)
475{ 475{
476 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 476 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
477 struct visor_private *priv = usb_get_serial_port_data(port); 477 struct visor_private *priv = usb_get_serial_port_data(port);
@@ -494,7 +494,7 @@ static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs)
494} 494}
495 495
496 496
497static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs) 497static void visor_read_bulk_callback (struct urb *urb)
498{ 498{
499 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 499 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
500 struct visor_private *priv = usb_get_serial_port_data(port); 500 struct visor_private *priv = usb_get_serial_port_data(port);
@@ -539,7 +539,7 @@ static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs)
539 return; 539 return;
540} 540}
541 541
542static void visor_read_int_callback (struct urb *urb, struct pt_regs *regs) 542static void visor_read_int_callback (struct urb *urb)
543{ 543{
544 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 544 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
545 int result; 545 int result;
diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c
index 6e6c7934be32..4d1cd7aeccd3 100644
--- a/drivers/usb/serial/whiteheat.c
+++ b/drivers/usb/serial/whiteheat.c
@@ -152,8 +152,8 @@ static void whiteheat_break_ctl (struct usb_serial_port *port, int break_state)
152static int whiteheat_chars_in_buffer (struct usb_serial_port *port); 152static int whiteheat_chars_in_buffer (struct usb_serial_port *port);
153static void whiteheat_throttle (struct usb_serial_port *port); 153static void whiteheat_throttle (struct usb_serial_port *port);
154static void whiteheat_unthrottle (struct usb_serial_port *port); 154static void whiteheat_unthrottle (struct usb_serial_port *port);
155static void whiteheat_read_callback (struct urb *urb, struct pt_regs *regs); 155static void whiteheat_read_callback (struct urb *urb);
156static void whiteheat_write_callback (struct urb *urb, struct pt_regs *regs); 156static void whiteheat_write_callback (struct urb *urb);
157 157
158static struct usb_serial_driver whiteheat_fake_device = { 158static struct usb_serial_driver whiteheat_fake_device = {
159 .driver = { 159 .driver = {
@@ -235,8 +235,8 @@ struct whiteheat_private {
235/* local function prototypes */ 235/* local function prototypes */
236static int start_command_port(struct usb_serial *serial); 236static int start_command_port(struct usb_serial *serial);
237static void stop_command_port(struct usb_serial *serial); 237static void stop_command_port(struct usb_serial *serial);
238static void command_port_write_callback(struct urb *urb, struct pt_regs *regs); 238static void command_port_write_callback(struct urb *urb);
239static void command_port_read_callback(struct urb *urb, struct pt_regs *regs); 239static void command_port_read_callback(struct urb *urb);
240 240
241static int start_port_read(struct usb_serial_port *port); 241static int start_port_read(struct usb_serial_port *port);
242static struct whiteheat_urb_wrap *urb_to_wrap(struct urb *urb, struct list_head *head); 242static struct whiteheat_urb_wrap *urb_to_wrap(struct urb *urb, struct list_head *head);
@@ -958,7 +958,7 @@ static void whiteheat_unthrottle (struct usb_serial_port *port)
958/***************************************************************************** 958/*****************************************************************************
959 * Connect Tech's White Heat callback routines 959 * Connect Tech's White Heat callback routines
960 *****************************************************************************/ 960 *****************************************************************************/
961static void command_port_write_callback (struct urb *urb, struct pt_regs *regs) 961static void command_port_write_callback (struct urb *urb)
962{ 962{
963 dbg("%s", __FUNCTION__); 963 dbg("%s", __FUNCTION__);
964 964
@@ -969,7 +969,7 @@ static void command_port_write_callback (struct urb *urb, struct pt_regs *regs)
969} 969}
970 970
971 971
972static void command_port_read_callback (struct urb *urb, struct pt_regs *regs) 972static void command_port_read_callback (struct urb *urb)
973{ 973{
974 struct usb_serial_port *command_port = (struct usb_serial_port *)urb->context; 974 struct usb_serial_port *command_port = (struct usb_serial_port *)urb->context;
975 struct whiteheat_command_private *command_info; 975 struct whiteheat_command_private *command_info;
@@ -1019,7 +1019,7 @@ static void command_port_read_callback (struct urb *urb, struct pt_regs *regs)
1019} 1019}
1020 1020
1021 1021
1022static void whiteheat_read_callback(struct urb *urb, struct pt_regs *regs) 1022static void whiteheat_read_callback(struct urb *urb)
1023{ 1023{
1024 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1024 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
1025 struct whiteheat_urb_wrap *wrap; 1025 struct whiteheat_urb_wrap *wrap;
@@ -1061,7 +1061,7 @@ static void whiteheat_read_callback(struct urb *urb, struct pt_regs *regs)
1061} 1061}
1062 1062
1063 1063
1064static void whiteheat_write_callback(struct urb *urb, struct pt_regs *regs) 1064static void whiteheat_write_callback(struct urb *urb)
1065{ 1065{
1066 struct usb_serial_port *port = (struct usb_serial_port *)urb->context; 1066 struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
1067 struct whiteheat_private *info = usb_get_serial_port_data(port); 1067 struct whiteheat_private *info = usb_get_serial_port_data(port);
diff --git a/drivers/usb/storage/onetouch.c b/drivers/usb/storage/onetouch.c
index f843a0bcf107..3baf448e300d 100644
--- a/drivers/usb/storage/onetouch.c
+++ b/drivers/usb/storage/onetouch.c
@@ -53,7 +53,7 @@ struct usb_onetouch {
53 unsigned int is_open:1; 53 unsigned int is_open:1;
54}; 54};
55 55
56static void usb_onetouch_irq(struct urb *urb, struct pt_regs *regs) 56static void usb_onetouch_irq(struct urb *urb)
57{ 57{
58 struct usb_onetouch *onetouch = urb->context; 58 struct usb_onetouch *onetouch = urb->context;
59 signed char *data = onetouch->data; 59 signed char *data = onetouch->data;
@@ -72,7 +72,6 @@ static void usb_onetouch_irq(struct urb *urb, struct pt_regs *regs)
72 goto resubmit; 72 goto resubmit;
73 } 73 }
74 74
75 input_regs(dev, regs);
76 input_report_key(dev, ONETOUCH_BUTTON, data[0] & 0x02); 75 input_report_key(dev, ONETOUCH_BUTTON, data[0] & 0x02);
77 input_sync(dev); 76 input_sync(dev);
78 77
diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
index f23514c4e649..47644b5b6155 100644
--- a/drivers/usb/storage/transport.c
+++ b/drivers/usb/storage/transport.c
@@ -108,7 +108,7 @@
108/* This is the completion handler which will wake us up when an URB 108/* This is the completion handler which will wake us up when an URB
109 * completes. 109 * completes.
110 */ 110 */
111static void usb_stor_blocking_completion(struct urb *urb, struct pt_regs *regs) 111static void usb_stor_blocking_completion(struct urb *urb)
112{ 112{
113 struct completion *urb_done_ptr = (struct completion *)urb->context; 113 struct completion *urb_done_ptr = (struct completion *)urb->context;
114 114
diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c
index 1b51d3187a95..296b091cf168 100644
--- a/drivers/usb/usb-skeleton.c
+++ b/drivers/usb/usb-skeleton.c
@@ -158,7 +158,7 @@ exit:
158 return retval; 158 return retval;
159} 159}
160 160
161static void skel_write_bulk_callback(struct urb *urb, struct pt_regs *regs) 161static void skel_write_bulk_callback(struct urb *urb)
162{ 162{
163 struct usb_skel *dev; 163 struct usb_skel *dev;
164 164