aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
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/net
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/net')
-rw-r--r--drivers/net/3c501.c3
-rw-r--r--drivers/net/3c501.h2
-rw-r--r--drivers/net/3c505.c2
-rw-r--r--drivers/net/3c507.c4
-rw-r--r--drivers/net/3c509.c6
-rw-r--r--drivers/net/3c515.c6
-rw-r--r--drivers/net/3c523.c6
-rw-r--r--drivers/net/3c527.c4
-rw-r--r--drivers/net/3c59x.c14
-rw-r--r--drivers/net/7990.c2
-rw-r--r--drivers/net/8139cp.c5
-rw-r--r--drivers/net/8139too.c8
-rw-r--r--drivers/net/82596.c8
-rw-r--r--drivers/net/8390.c5
-rw-r--r--drivers/net/8390.h2
-rw-r--r--drivers/net/a2065.c3
-rw-r--r--drivers/net/acenic.c2
-rw-r--r--drivers/net/acenic.h2
-rw-r--r--drivers/net/amd8111e.c4
-rw-r--r--drivers/net/apne.c6
-rw-r--r--drivers/net/appletalk/cops.c4
-rw-r--r--drivers/net/appletalk/ltpc.c2
-rw-r--r--drivers/net/arcnet/arcnet.c2
-rw-r--r--drivers/net/ariadne.c4
-rw-r--r--drivers/net/arm/am79c961a.c4
-rw-r--r--drivers/net/arm/at91_ether.c4
-rw-r--r--drivers/net/arm/ep93xx_eth.c2
-rw-r--r--drivers/net/arm/ether1.c4
-rw-r--r--drivers/net/arm/ether3.c4
-rw-r--r--drivers/net/at1700.c5
-rw-r--r--drivers/net/atari_bionet.c2
-rw-r--r--drivers/net/atari_pamsnet.c3
-rw-r--r--drivers/net/atarilance.c4
-rw-r--r--drivers/net/atp.c5
-rw-r--r--drivers/net/au1000_eth.c4
-rw-r--r--drivers/net/b44.c4
-rw-r--r--drivers/net/bmac.c14
-rw-r--r--drivers/net/bnx2.c6
-rw-r--r--drivers/net/cassini.c8
-rw-r--r--drivers/net/chelsio/cxgb2.c2
-rw-r--r--drivers/net/chelsio/sge.c6
-rw-r--r--drivers/net/chelsio/sge.h9
-rw-r--r--drivers/net/cris/eth_v10.c8
-rw-r--r--drivers/net/cs89x0.c6
-rw-r--r--drivers/net/de600.c2
-rw-r--r--drivers/net/de600.h2
-rw-r--r--drivers/net/de620.c4
-rw-r--r--drivers/net/declance.c6
-rw-r--r--drivers/net/defxx.c6
-rw-r--r--drivers/net/depca.c4
-rw-r--r--drivers/net/dgrs.c2
-rw-r--r--drivers/net/dl2k.c4
-rw-r--r--drivers/net/dm9000.c4
-rw-r--r--drivers/net/e100.c4
-rw-r--r--drivers/net/e1000/e1000_ethtool.c3
-rw-r--r--drivers/net/e1000/e1000_main.c7
-rw-r--r--drivers/net/eepro.c4
-rw-r--r--drivers/net/eepro100.c6
-rw-r--r--drivers/net/eexpress.c4
-rw-r--r--drivers/net/ehea/ehea_main.c12
-rw-r--r--drivers/net/epic100.c4
-rw-r--r--drivers/net/eth16i.c4
-rw-r--r--drivers/net/ewrk3.c4
-rw-r--r--drivers/net/fealnx.c4
-rw-r--r--drivers/net/fec.c10
-rw-r--r--drivers/net/fec_8xx/fec_main.c4
-rw-r--r--drivers/net/forcedeth.c20
-rw-r--r--drivers/net/fs_enet/fs_enet-main.c4
-rw-r--r--drivers/net/gianfar.c22
-rw-r--r--drivers/net/gianfar.h2
-rw-r--r--drivers/net/hamachi.c4
-rw-r--r--drivers/net/hamradio/baycom_epp.c2
-rw-r--r--drivers/net/hamradio/baycom_par.c2
-rw-r--r--drivers/net/hamradio/baycom_ser_fdx.c2
-rw-r--r--drivers/net/hamradio/baycom_ser_hdx.c2
-rw-r--r--drivers/net/hamradio/dmascc.c4
-rw-r--r--drivers/net/hamradio/scc.c4
-rw-r--r--drivers/net/hamradio/yam.c2
-rw-r--r--drivers/net/hp100.c4
-rw-r--r--drivers/net/ibm_emac/ibm_emac_core.c4
-rw-r--r--drivers/net/ibm_emac/ibm_emac_debug.c3
-rw-r--r--drivers/net/ibm_emac/ibm_emac_mal.c10
-rw-r--r--drivers/net/ibmlana.c2
-rw-r--r--drivers/net/ibmveth.c8
-rw-r--r--drivers/net/ioc3-eth.c2
-rw-r--r--drivers/net/irda/ali-ircc.c3
-rw-r--r--drivers/net/irda/au1k_ir.c4
-rw-r--r--drivers/net/irda/donauboe.c4
-rw-r--r--drivers/net/irda/irda-usb.c12
-rw-r--r--drivers/net/irda/irport.c8
-rw-r--r--drivers/net/irda/irport.h2
-rw-r--r--drivers/net/irda/mcs7780.c4
-rw-r--r--drivers/net/irda/mcs7780.h4
-rw-r--r--drivers/net/irda/nsc-ircc.c3
-rw-r--r--drivers/net/irda/pxaficp_ir.c8
-rw-r--r--drivers/net/irda/sa1100_ir.c2
-rw-r--r--drivers/net/irda/smsc-ircc2.c6
-rw-r--r--drivers/net/irda/stir4200.c2
-rw-r--r--drivers/net/irda/via-ircc.c8
-rw-r--r--drivers/net/irda/vlsi_ir.c3
-rw-r--r--drivers/net/irda/w83977af_ir.c3
-rw-r--r--drivers/net/isa-skeleton.c4
-rw-r--r--drivers/net/iseries_veth.c2
-rw-r--r--drivers/net/ixgb/ixgb_main.c7
-rw-r--r--drivers/net/ixp2000/ixpdev.c2
-rw-r--r--drivers/net/lance.c5
-rw-r--r--drivers/net/lasi_82596.c6
-rw-r--r--drivers/net/lp486e.c4
-rw-r--r--drivers/net/mac89x0.c4
-rw-r--r--drivers/net/mace.c12
-rw-r--r--drivers/net/macmace.c8
-rw-r--r--drivers/net/meth.c4
-rw-r--r--drivers/net/mipsnet.c3
-rw-r--r--drivers/net/mv643xx_eth.c3
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
-rw-r--r--drivers/net/myri_sbus.c2
-rw-r--r--drivers/net/natsemi.c6
-rw-r--r--drivers/net/netx-eth.c2
-rw-r--r--drivers/net/ni5010.c4
-rw-r--r--drivers/net/ni52.c4
-rw-r--r--drivers/net/ni65.c4
-rw-r--r--drivers/net/ns83820.c2
-rw-r--r--drivers/net/pci-skeleton.c6
-rw-r--r--drivers/net/pcmcia/3c574_cs.c6
-rw-r--r--drivers/net/pcmcia/3c589_cs.c6
-rw-r--r--drivers/net/pcmcia/axnet_cs.c12
-rw-r--r--drivers/net/pcmcia/fmvj18x_cs.c4
-rw-r--r--drivers/net/pcmcia/nmclan_cs.c4
-rw-r--r--drivers/net/pcmcia/pcnet_cs.c8
-rw-r--r--drivers/net/pcmcia/smc91c92_cs.c6
-rw-r--r--drivers/net/pcmcia/xirc2ps_cs.c4
-rw-r--r--drivers/net/pcnet32.c6
-rw-r--r--drivers/net/phy/phy.c2
-rw-r--r--drivers/net/plip.c6
-rw-r--r--drivers/net/qla3xxx.c2
-rw-r--r--drivers/net/r8169.c7
-rw-r--r--drivers/net/rrunner.c2
-rw-r--r--drivers/net/rrunner.h2
-rw-r--r--drivers/net/s2io.c12
-rw-r--r--drivers/net/s2io.h8
-rw-r--r--drivers/net/saa9730.c3
-rw-r--r--drivers/net/sb1000.c4
-rw-r--r--drivers/net/sb1250-mac.c4
-rw-r--r--drivers/net/seeq8005.c4
-rw-r--r--drivers/net/sgiseeq.c2
-rw-r--r--drivers/net/sis190.c4
-rw-r--r--drivers/net/sis900.c6
-rw-r--r--drivers/net/sk98lin/skge.c10
-rw-r--r--drivers/net/sk_mca.c2
-rw-r--r--drivers/net/skfp/skfddi.c5
-rw-r--r--drivers/net/skge.c4
-rw-r--r--drivers/net/sky2.c5
-rw-r--r--drivers/net/smc-ultra.c2
-rw-r--r--drivers/net/smc911x.c6
-rw-r--r--drivers/net/smc9194.c4
-rw-r--r--drivers/net/smc91x.c2
-rw-r--r--drivers/net/smc91x.h2
-rw-r--r--drivers/net/sonic.c2
-rw-r--r--drivers/net/sonic.h2
-rw-r--r--drivers/net/spider_net.c4
-rw-r--r--drivers/net/starfire.c4
-rw-r--r--drivers/net/sun3_82586.c4
-rw-r--r--drivers/net/sun3lance.c4
-rw-r--r--drivers/net/sunbmac.c2
-rw-r--r--drivers/net/sundance.c4
-rw-r--r--drivers/net/sungem.c4
-rw-r--r--drivers/net/sunhme.c4
-rw-r--r--drivers/net/sunlance.c2
-rw-r--r--drivers/net/sunqe.c2
-rw-r--r--drivers/net/tc35815.c4
-rw-r--r--drivers/net/tg3.c15
-rw-r--r--drivers/net/tlan.c7
-rw-r--r--drivers/net/tokenring/3c359.c4
-rw-r--r--drivers/net/tokenring/ibmtr.c6
-rw-r--r--drivers/net/tokenring/lanstreamer.c5
-rw-r--r--drivers/net/tokenring/madgemc.c6
-rw-r--r--drivers/net/tokenring/olympic.c4
-rw-r--r--drivers/net/tokenring/smctr.c4
-rw-r--r--drivers/net/tokenring/tms380tr.c2
-rw-r--r--drivers/net/tokenring/tms380tr.h2
-rw-r--r--drivers/net/tulip/de2104x.c2
-rw-r--r--drivers/net/tulip/de4x5.c4
-rw-r--r--drivers/net/tulip/dmfe.c6
-rw-r--r--drivers/net/tulip/interrupt.c2
-rw-r--r--drivers/net/tulip/tulip.h2
-rw-r--r--drivers/net/tulip/tulip_core.c2
-rw-r--r--drivers/net/tulip/uli526x.c4
-rw-r--r--drivers/net/tulip/winbond-840.c4
-rw-r--r--drivers/net/tulip/xircom_cb.c6
-rw-r--r--drivers/net/tulip/xircom_tulip_cb.c4
-rw-r--r--drivers/net/typhoon.c2
-rw-r--r--drivers/net/ucc_geth.c5
-rw-r--r--drivers/net/via-rhine.c6
-rw-r--r--drivers/net/via-velocity.c5
-rw-r--r--drivers/net/wan/cosa.c4
-rw-r--r--drivers/net/wan/cycx_main.c4
-rw-r--r--drivers/net/wan/dscc4.c4
-rw-r--r--drivers/net/wan/farsync.c2
-rw-r--r--drivers/net/wan/hd6457x.c2
-rw-r--r--drivers/net/wan/lmc/lmc_main.c4
-rw-r--r--drivers/net/wan/pc300_drv.c4
-rw-r--r--drivers/net/wan/sbni.c4
-rw-r--r--drivers/net/wan/sdla.c2
-rw-r--r--drivers/net/wan/wanxl.c2
-rw-r--r--drivers/net/wan/z85230.c2
-rw-r--r--drivers/net/wan/z85230.h2
-rw-r--r--drivers/net/wireless/airo.c5
-rw-r--r--drivers/net/wireless/arlan-main.c4
-rw-r--r--drivers/net/wireless/atmel.c2
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_main.c4
-rw-r--r--drivers/net/wireless/hostap/hostap_hw.c2
-rw-r--r--drivers/net/wireless/ipw2100.c2
-rw-r--r--drivers/net/wireless/ipw2200.c2
-rw-r--r--drivers/net/wireless/netwave_cs.c6
-rw-r--r--drivers/net/wireless/orinoco.c2
-rw-r--r--drivers/net/wireless/orinoco.h2
-rw-r--r--drivers/net/wireless/prism54/islpci_dev.c2
-rw-r--r--drivers/net/wireless/prism54/islpci_dev.h2
-rw-r--r--drivers/net/wireless/ray_cs.c4
-rw-r--r--drivers/net/wireless/wavelan.c2
-rw-r--r--drivers/net/wireless/wavelan.p.h3
-rw-r--r--drivers/net/wireless/wavelan_cs.c3
-rw-r--r--drivers/net/wireless/wavelan_cs.p.h3
-rw-r--r--drivers/net/wireless/wl3501_cs.c3
-rw-r--r--drivers/net/wireless/zd1201.c6
-rw-r--r--drivers/net/wireless/zd1211rw/zd_usb.c6
-rw-r--r--drivers/net/yellowfin.c4
-rw-r--r--drivers/net/znet.c4
228 files changed, 477 insertions, 538 deletions
diff --git a/drivers/net/3c501.c b/drivers/net/3c501.c
index 1b82bccd8c71..11d170afa9c3 100644
--- a/drivers/net/3c501.c
+++ b/drivers/net/3c501.c
@@ -496,7 +496,6 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev)
496 * el_interrupt: 496 * el_interrupt:
497 * @irq: Interrupt number 497 * @irq: Interrupt number
498 * @dev_id: The 3c501 that burped 498 * @dev_id: The 3c501 that burped
499 * @regs: Register data (surplus to our requirements)
500 * 499 *
501 * Handle the ether interface interrupts. The 3c501 needs a lot more 500 * Handle the ether interface interrupts. The 3c501 needs a lot more
502 * hand holding than most cards. In particular we get a transmit interrupt 501 * hand holding than most cards. In particular we get a transmit interrupt
@@ -515,7 +514,7 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev)
515 * TCP window. 514 * TCP window.
516 */ 515 */
517 516
518static irqreturn_t el_interrupt(int irq, void *dev_id, struct pt_regs *regs) 517static irqreturn_t el_interrupt(int irq, void *dev_id)
519{ 518{
520 struct net_device *dev = dev_id; 519 struct net_device *dev = dev_id;
521 struct net_local *lp; 520 struct net_local *lp;
diff --git a/drivers/net/3c501.h b/drivers/net/3c501.h
index 39d332474750..c56a2c62f7de 100644
--- a/drivers/net/3c501.h
+++ b/drivers/net/3c501.h
@@ -7,7 +7,7 @@ static int el1_probe1(struct net_device *dev, int ioaddr);
7static int el_open(struct net_device *dev); 7static int el_open(struct net_device *dev);
8static void el_timeout(struct net_device *dev); 8static void el_timeout(struct net_device *dev);
9static int el_start_xmit(struct sk_buff *skb, struct net_device *dev); 9static int el_start_xmit(struct sk_buff *skb, struct net_device *dev);
10static irqreturn_t el_interrupt(int irq, void *dev_id, struct pt_regs *regs); 10static irqreturn_t el_interrupt(int irq, void *dev_id);
11static void el_receive(struct net_device *dev); 11static void el_receive(struct net_device *dev);
12static void el_reset(struct net_device *dev); 12static void el_reset(struct net_device *dev);
13static int el1_close(struct net_device *dev); 13static int el1_close(struct net_device *dev);
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c
index ab8230a68bea..458cb9cbe915 100644
--- a/drivers/net/3c505.c
+++ b/drivers/net/3c505.c
@@ -649,7 +649,7 @@ static void receive_packet(struct net_device *dev, int len)
649 * 649 *
650 ******************************************************/ 650 ******************************************************/
651 651
652static irqreturn_t elp_interrupt(int irq, void *dev_id, struct pt_regs *reg_ptr) 652static irqreturn_t elp_interrupt(int irq, void *dev_id)
653{ 653{
654 int len; 654 int len;
655 int dlen; 655 int dlen;
diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c
index 8205a535c5b7..aa43563610ae 100644
--- a/drivers/net/3c507.c
+++ b/drivers/net/3c507.c
@@ -286,7 +286,7 @@ static unsigned short init_words[] = {
286static int el16_probe1(struct net_device *dev, int ioaddr); 286static int el16_probe1(struct net_device *dev, int ioaddr);
287static int el16_open(struct net_device *dev); 287static int el16_open(struct net_device *dev);
288static int el16_send_packet(struct sk_buff *skb, struct net_device *dev); 288static int el16_send_packet(struct sk_buff *skb, struct net_device *dev);
289static irqreturn_t el16_interrupt(int irq, void *dev_id, struct pt_regs *regs); 289static irqreturn_t el16_interrupt(int irq, void *dev_id);
290static void el16_rx(struct net_device *dev); 290static void el16_rx(struct net_device *dev);
291static int el16_close(struct net_device *dev); 291static int el16_close(struct net_device *dev);
292static struct net_device_stats *el16_get_stats(struct net_device *dev); 292static struct net_device_stats *el16_get_stats(struct net_device *dev);
@@ -543,7 +543,7 @@ static int el16_send_packet (struct sk_buff *skb, struct net_device *dev)
543 543
544/* The typical workload of the driver: 544/* The typical workload of the driver:
545 Handle the network interface interrupts. */ 545 Handle the network interface interrupts. */
546static irqreturn_t el16_interrupt(int irq, void *dev_id, struct pt_regs *regs) 546static irqreturn_t el16_interrupt(int irq, void *dev_id)
547{ 547{
548 struct net_device *dev = dev_id; 548 struct net_device *dev = dev_id;
549 struct net_local *lp; 549 struct net_local *lp;
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index b936373ab2a5..7ad0a54779c4 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -191,7 +191,7 @@ static ushort id_read_eeprom(int index);
191static ushort read_eeprom(int ioaddr, int index); 191static ushort read_eeprom(int ioaddr, int index);
192static int el3_open(struct net_device *dev); 192static int el3_open(struct net_device *dev);
193static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev); 193static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
194static irqreturn_t el3_interrupt(int irq, void *dev_id, struct pt_regs *regs); 194static irqreturn_t el3_interrupt(int irq, void *dev_id);
195static void update_stats(struct net_device *dev); 195static void update_stats(struct net_device *dev);
196static struct net_device_stats *el3_get_stats(struct net_device *dev); 196static struct net_device_stats *el3_get_stats(struct net_device *dev);
197static int el3_rx(struct net_device *dev); 197static int el3_rx(struct net_device *dev);
@@ -910,7 +910,7 @@ el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
910 910
911/* The EL3 interrupt handler. */ 911/* The EL3 interrupt handler. */
912static irqreturn_t 912static irqreturn_t
913el3_interrupt(int irq, void *dev_id, struct pt_regs *regs) 913el3_interrupt(int irq, void *dev_id)
914{ 914{
915 struct net_device *dev = (struct net_device *)dev_id; 915 struct net_device *dev = (struct net_device *)dev_id;
916 struct el3_private *lp; 916 struct el3_private *lp;
@@ -1006,7 +1006,7 @@ el3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1006static void el3_poll_controller(struct net_device *dev) 1006static void el3_poll_controller(struct net_device *dev)
1007{ 1007{
1008 disable_irq(dev->irq); 1008 disable_irq(dev->irq);
1009 el3_interrupt(dev->irq, dev, NULL); 1009 el3_interrupt(dev->irq, dev);
1010 enable_irq(dev->irq); 1010 enable_irq(dev->irq);
1011} 1011}
1012#endif 1012#endif
diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index 91f2232e6050..c307ce66145c 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -373,8 +373,7 @@ static int corkscrew_start_xmit(struct sk_buff *skb,
373static int corkscrew_rx(struct net_device *dev); 373static int corkscrew_rx(struct net_device *dev);
374static void corkscrew_timeout(struct net_device *dev); 374static void corkscrew_timeout(struct net_device *dev);
375static int boomerang_rx(struct net_device *dev); 375static int boomerang_rx(struct net_device *dev);
376static irqreturn_t corkscrew_interrupt(int irq, void *dev_id, 376static irqreturn_t corkscrew_interrupt(int irq, void *dev_id);
377 struct pt_regs *regs);
378static int corkscrew_close(struct net_device *dev); 377static int corkscrew_close(struct net_device *dev);
379static void update_stats(int addr, struct net_device *dev); 378static void update_stats(int addr, struct net_device *dev);
380static struct net_device_stats *corkscrew_get_stats(struct net_device *dev); 379static struct net_device_stats *corkscrew_get_stats(struct net_device *dev);
@@ -1116,8 +1115,7 @@ static int corkscrew_start_xmit(struct sk_buff *skb,
1116/* The interrupt handler does all of the Rx thread work and cleans up 1115/* The interrupt handler does all of the Rx thread work and cleans up
1117 after the Tx thread. */ 1116 after the Tx thread. */
1118 1117
1119static irqreturn_t corkscrew_interrupt(int irq, void *dev_id, 1118static irqreturn_t corkscrew_interrupt(int irq, void *dev_id)
1120 struct pt_regs *regs)
1121{ 1119{
1122 /* Use the now-standard shared IRQ implementation. */ 1120 /* Use the now-standard shared IRQ implementation. */
1123 struct net_device *dev = dev_id; 1121 struct net_device *dev = dev_id;
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c
index cf8a0bc3bf34..1c97271112d0 100644
--- a/drivers/net/3c523.c
+++ b/drivers/net/3c523.c
@@ -180,7 +180,7 @@ sizeof(nop_cmd) = 8;
180 dev->name,__LINE__); \ 180 dev->name,__LINE__); \
181 elmc_id_reset586(); } } } 181 elmc_id_reset586(); } } }
182 182
183static irqreturn_t elmc_interrupt(int irq, void *dev_id, struct pt_regs *reg_ptr); 183static irqreturn_t elmc_interrupt(int irq, void *dev_id);
184static int elmc_open(struct net_device *dev); 184static int elmc_open(struct net_device *dev);
185static int elmc_close(struct net_device *dev); 185static int elmc_close(struct net_device *dev);
186static int elmc_send_packet(struct sk_buff *, struct net_device *); 186static int elmc_send_packet(struct sk_buff *, struct net_device *);
@@ -900,14 +900,14 @@ static void *alloc_rfa(struct net_device *dev, void *ptr)
900 */ 900 */
901 901
902static irqreturn_t 902static irqreturn_t
903elmc_interrupt(int irq, void *dev_id, struct pt_regs *reg_ptr) 903elmc_interrupt(int irq, void *dev_id)
904{ 904{
905 struct net_device *dev = (struct net_device *) dev_id; 905 struct net_device *dev = (struct net_device *) dev_id;
906 unsigned short stat; 906 unsigned short stat;
907 struct priv *p; 907 struct priv *p;
908 908
909 if (dev == NULL) { 909 if (dev == NULL) {
910 printk(KERN_ERR "elmc-interrupt: irq %d for unknown device.\n", (int) -(((struct pt_regs *) reg_ptr)->orig_eax + 2)); 910 printk(KERN_ERR "elmc-interrupt: irq %d for unknown device.\n", irq);
911 return IRQ_NONE; 911 return IRQ_NONE;
912 } else if (!netif_running(dev)) { 912 } else if (!netif_running(dev)) {
913 /* The 3c523 has this habit of generating interrupts during the 913 /* The 3c523 has this habit of generating interrupts during the
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c
index 625e57dc3b4a..d516c3225ca4 100644
--- a/drivers/net/3c527.c
+++ b/drivers/net/3c527.c
@@ -217,7 +217,7 @@ static int mc32_command(struct net_device *dev, u16 cmd, void *data, int le
217static int mc32_open(struct net_device *dev); 217static int mc32_open(struct net_device *dev);
218static void mc32_timeout(struct net_device *dev); 218static void mc32_timeout(struct net_device *dev);
219static int mc32_send_packet(struct sk_buff *skb, struct net_device *dev); 219static int mc32_send_packet(struct sk_buff *skb, struct net_device *dev);
220static irqreturn_t mc32_interrupt(int irq, void *dev_id, struct pt_regs *regs); 220static irqreturn_t mc32_interrupt(int irq, void *dev_id);
221static int mc32_close(struct net_device *dev); 221static int mc32_close(struct net_device *dev);
222static struct net_device_stats *mc32_get_stats(struct net_device *dev); 222static struct net_device_stats *mc32_get_stats(struct net_device *dev);
223static void mc32_set_multicast_list(struct net_device *dev); 223static void mc32_set_multicast_list(struct net_device *dev);
@@ -1316,7 +1316,7 @@ static void mc32_tx_ring(struct net_device *dev)
1316 * 1316 *
1317 */ 1317 */
1318 1318
1319static irqreturn_t mc32_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1319static irqreturn_t mc32_interrupt(int irq, void *dev_id)
1320{ 1320{
1321 struct net_device *dev = dev_id; 1321 struct net_device *dev = dev_id;
1322 struct mc32_local *lp; 1322 struct mc32_local *lp;
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index df42e28cc80f..80bdcf846234 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -717,8 +717,8 @@ static int vortex_start_xmit(struct sk_buff *skb, struct net_device *dev);
717static int boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev); 717static int boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev);
718static int vortex_rx(struct net_device *dev); 718static int vortex_rx(struct net_device *dev);
719static int boomerang_rx(struct net_device *dev); 719static int boomerang_rx(struct net_device *dev);
720static irqreturn_t vortex_interrupt(int irq, void *dev_id, struct pt_regs *regs); 720static irqreturn_t vortex_interrupt(int irq, void *dev_id);
721static irqreturn_t boomerang_interrupt(int irq, void *dev_id, struct pt_regs *regs); 721static irqreturn_t boomerang_interrupt(int irq, void *dev_id);
722static int vortex_close(struct net_device *dev); 722static int vortex_close(struct net_device *dev);
723static void dump_tx_ring(struct net_device *dev); 723static void dump_tx_ring(struct net_device *dev);
724static void update_stats(void __iomem *ioaddr, struct net_device *dev); 724static void update_stats(void __iomem *ioaddr, struct net_device *dev);
@@ -794,7 +794,7 @@ static void poll_vortex(struct net_device *dev)
794 unsigned long flags; 794 unsigned long flags;
795 local_save_flags(flags); 795 local_save_flags(flags);
796 local_irq_disable(); 796 local_irq_disable();
797 (vp->full_bus_master_rx ? boomerang_interrupt:vortex_interrupt)(dev->irq,dev,NULL); 797 (vp->full_bus_master_rx ? boomerang_interrupt:vortex_interrupt)(dev->irq,dev);
798 local_irq_restore(flags); 798 local_irq_restore(flags);
799} 799}
800#endif 800#endif
@@ -1849,9 +1849,9 @@ static void vortex_tx_timeout(struct net_device *dev)
1849 unsigned long flags; 1849 unsigned long flags;
1850 local_irq_save(flags); 1850 local_irq_save(flags);
1851 if (vp->full_bus_master_tx) 1851 if (vp->full_bus_master_tx)
1852 boomerang_interrupt(dev->irq, dev, NULL); 1852 boomerang_interrupt(dev->irq, dev);
1853 else 1853 else
1854 vortex_interrupt(dev->irq, dev, NULL); 1854 vortex_interrupt(dev->irq, dev);
1855 local_irq_restore(flags); 1855 local_irq_restore(flags);
1856 } 1856 }
1857 } 1857 }
@@ -2149,7 +2149,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
2149 */ 2149 */
2150 2150
2151static irqreturn_t 2151static irqreturn_t
2152vortex_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2152vortex_interrupt(int irq, void *dev_id)
2153{ 2153{
2154 struct net_device *dev = dev_id; 2154 struct net_device *dev = dev_id;
2155 struct vortex_private *vp = netdev_priv(dev); 2155 struct vortex_private *vp = netdev_priv(dev);
@@ -2254,7 +2254,7 @@ handler_exit:
2254 */ 2254 */
2255 2255
2256static irqreturn_t 2256static irqreturn_t
2257boomerang_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2257boomerang_interrupt(int irq, void *dev_id)
2258{ 2258{
2259 struct net_device *dev = dev_id; 2259 struct net_device *dev = dev_id;
2260 struct vortex_private *vp = netdev_priv(dev); 2260 struct vortex_private *vp = netdev_priv(dev);
diff --git a/drivers/net/7990.c b/drivers/net/7990.c
index db7b19a5cd59..8e996b4a34ea 100644
--- a/drivers/net/7990.c
+++ b/drivers/net/7990.c
@@ -438,7 +438,7 @@ static int lance_tx (struct net_device *dev)
438} 438}
439 439
440static irqreturn_t 440static irqreturn_t
441lance_interrupt (int irq, void *dev_id, struct pt_regs *regs) 441lance_interrupt (int irq, void *dev_id)
442{ 442{
443 struct net_device *dev = (struct net_device *)dev_id; 443 struct net_device *dev = (struct net_device *)dev_id;
444 struct lance_private *lp = netdev_priv(dev); 444 struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index 5a4990ae3730..458dd9f830c4 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -631,8 +631,7 @@ rx_next:
631 return 1; /* not done */ 631 return 1; /* not done */
632} 632}
633 633
634static irqreturn_t 634static irqreturn_t cp_interrupt (int irq, void *dev_instance)
635cp_interrupt (int irq, void *dev_instance, struct pt_regs *regs)
636{ 635{
637 struct net_device *dev = dev_instance; 636 struct net_device *dev = dev_instance;
638 struct cp_private *cp; 637 struct cp_private *cp;
@@ -696,7 +695,7 @@ cp_interrupt (int irq, void *dev_instance, struct pt_regs *regs)
696static void cp_poll_controller(struct net_device *dev) 695static void cp_poll_controller(struct net_device *dev)
697{ 696{
698 disable_irq(dev->irq); 697 disable_irq(dev->irq);
699 cp_interrupt(dev->irq, dev, NULL); 698 cp_interrupt(dev->irq, dev);
700 enable_irq(dev->irq); 699 enable_irq(dev->irq);
701} 700}
702#endif 701#endif
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index dbc5c0b1b96c..d02ed51abfcc 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -629,8 +629,7 @@ static int rtl8139_poll(struct net_device *dev, int *budget);
629#ifdef CONFIG_NET_POLL_CONTROLLER 629#ifdef CONFIG_NET_POLL_CONTROLLER
630static void rtl8139_poll_controller(struct net_device *dev); 630static void rtl8139_poll_controller(struct net_device *dev);
631#endif 631#endif
632static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance, 632static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance);
633 struct pt_regs *regs);
634static int rtl8139_close (struct net_device *dev); 633static int rtl8139_close (struct net_device *dev);
635static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); 634static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd);
636static struct net_device_stats *rtl8139_get_stats (struct net_device *dev); 635static struct net_device_stats *rtl8139_get_stats (struct net_device *dev);
@@ -2146,8 +2145,7 @@ static int rtl8139_poll(struct net_device *dev, int *budget)
2146 2145
2147/* The interrupt handler does all of the Rx thread work and cleans up 2146/* The interrupt handler does all of the Rx thread work and cleans up
2148 after the Tx thread. */ 2147 after the Tx thread. */
2149static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance, 2148static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance)
2150 struct pt_regs *regs)
2151{ 2149{
2152 struct net_device *dev = (struct net_device *) dev_instance; 2150 struct net_device *dev = (struct net_device *) dev_instance;
2153 struct rtl8139_private *tp = netdev_priv(dev); 2151 struct rtl8139_private *tp = netdev_priv(dev);
@@ -2219,7 +2217,7 @@ static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance,
2219static void rtl8139_poll_controller(struct net_device *dev) 2217static void rtl8139_poll_controller(struct net_device *dev)
2220{ 2218{
2221 disable_irq(dev->irq); 2219 disable_irq(dev->irq);
2222 rtl8139_interrupt(dev->irq, dev, NULL); 2220 rtl8139_interrupt(dev->irq, dev);
2223 enable_irq(dev->irq); 2221 enable_irq(dev->irq);
2224} 2222}
2225#endif 2223#endif
diff --git a/drivers/net/82596.c b/drivers/net/82596.c
index c9e4dca9d410..8236f26ffd46 100644
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -357,7 +357,7 @@ static char init_setup[] =
357 357
358static int i596_open(struct net_device *dev); 358static int i596_open(struct net_device *dev);
359static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev); 359static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev);
360static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs); 360static irqreturn_t i596_interrupt(int irq, void *dev_id);
361static int i596_close(struct net_device *dev); 361static int i596_close(struct net_device *dev);
362static struct net_device_stats *i596_get_stats(struct net_device *dev); 362static struct net_device_stats *i596_get_stats(struct net_device *dev);
363static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); 363static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd);
@@ -501,7 +501,7 @@ static void i596_display_data(struct net_device *dev)
501 501
502 502
503#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET) 503#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET)
504static irqreturn_t i596_error(int irq, void *dev_id, struct pt_regs *regs) 504static irqreturn_t i596_error(int irq, void *dev_id)
505{ 505{
506 struct net_device *dev = dev_id; 506 struct net_device *dev = dev_id;
507#ifdef ENABLE_MVME16x_NET 507#ifdef ENABLE_MVME16x_NET
@@ -1283,7 +1283,7 @@ out:
1283 return ERR_PTR(err); 1283 return ERR_PTR(err);
1284} 1284}
1285 1285
1286static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1286static irqreturn_t i596_interrupt(int irq, void *dev_id)
1287{ 1287{
1288 struct net_device *dev = dev_id; 1288 struct net_device *dev = dev_id;
1289 struct i596_private *lp; 1289 struct i596_private *lp;
@@ -1294,7 +1294,7 @@ static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1294#ifdef ENABLE_BVME6000_NET 1294#ifdef ENABLE_BVME6000_NET
1295 if (MACH_IS_BVME6000) { 1295 if (MACH_IS_BVME6000) {
1296 if (*(char *) BVME_LOCAL_IRQ_STAT & BVME_ETHERR) { 1296 if (*(char *) BVME_LOCAL_IRQ_STAT & BVME_ETHERR) {
1297 i596_error(irq, dev_id, regs); 1297 i596_error(irq, dev_id);
1298 return IRQ_HANDLED; 1298 return IRQ_HANDLED;
1299 } 1299 }
1300 } 1300 }
diff --git a/drivers/net/8390.c b/drivers/net/8390.c
index 9d34056147ad..fa3442cb1a49 100644
--- a/drivers/net/8390.c
+++ b/drivers/net/8390.c
@@ -391,7 +391,6 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
391 * ei_interrupt - handle the interrupts from an 8390 391 * ei_interrupt - handle the interrupts from an 8390
392 * @irq: interrupt number 392 * @irq: interrupt number
393 * @dev_id: a pointer to the net_device 393 * @dev_id: a pointer to the net_device
394 * @regs: unused
395 * 394 *
396 * Handle the ether interface interrupts. We pull packets from 395 * Handle the ether interface interrupts. We pull packets from
397 * the 8390 via the card specific functions and fire them at the networking 396 * the 8390 via the card specific functions and fire them at the networking
@@ -400,7 +399,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
400 * needed. 399 * needed.
401 */ 400 */
402 401
403irqreturn_t ei_interrupt(int irq, void *dev_id, struct pt_regs * regs) 402irqreturn_t ei_interrupt(int irq, void *dev_id)
404{ 403{
405 struct net_device *dev = dev_id; 404 struct net_device *dev = dev_id;
406 long e8390_base; 405 long e8390_base;
@@ -506,7 +505,7 @@ irqreturn_t ei_interrupt(int irq, void *dev_id, struct pt_regs * regs)
506void ei_poll(struct net_device *dev) 505void ei_poll(struct net_device *dev)
507{ 506{
508 disable_irq_lockdep(dev->irq); 507 disable_irq_lockdep(dev->irq);
509 ei_interrupt(dev->irq, dev, NULL); 508 ei_interrupt(dev->irq, dev);
510 enable_irq_lockdep(dev->irq); 509 enable_irq_lockdep(dev->irq);
511} 510}
512#endif 511#endif
diff --git a/drivers/net/8390.h b/drivers/net/8390.h
index ca4eb0ccf8cf..f44f1220b3a5 100644
--- a/drivers/net/8390.h
+++ b/drivers/net/8390.h
@@ -35,7 +35,7 @@ extern void ei_poll(struct net_device *dev);
35extern void NS8390_init(struct net_device *dev, int startp); 35extern void NS8390_init(struct net_device *dev, int startp);
36extern int ei_open(struct net_device *dev); 36extern int ei_open(struct net_device *dev);
37extern int ei_close(struct net_device *dev); 37extern int ei_close(struct net_device *dev);
38extern irqreturn_t ei_interrupt(int irq, void *dev_id, struct pt_regs *regs); 38extern irqreturn_t ei_interrupt(int irq, void *dev_id);
39extern struct net_device *__alloc_ei_netdev(int size); 39extern struct net_device *__alloc_ei_netdev(int size);
40static inline struct net_device *alloc_ei_netdev(void) 40static inline struct net_device *alloc_ei_netdev(void)
41{ 41{
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c
index 5f7258fea19d..d76548e75350 100644
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -425,8 +425,7 @@ static int lance_tx (struct net_device *dev)
425 return 0; 425 return 0;
426} 426}
427 427
428static irqreturn_t 428static irqreturn_t lance_interrupt (int irq, void *dev_id)
429lance_interrupt (int irq, void *dev_id, struct pt_regs *regs)
430{ 429{
431 struct net_device *dev; 430 struct net_device *dev;
432 struct lance_private *lp; 431 struct lance_private *lp;
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index 71a4f60f7325..33c6645455ae 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -2144,7 +2144,7 @@ static inline void ace_tx_int(struct net_device *dev,
2144} 2144}
2145 2145
2146 2146
2147static irqreturn_t ace_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) 2147static irqreturn_t ace_interrupt(int irq, void *dev_id)
2148{ 2148{
2149 struct net_device *dev = (struct net_device *)dev_id; 2149 struct net_device *dev = (struct net_device *)dev_id;
2150 struct ace_private *ap = netdev_priv(dev); 2150 struct ace_private *ap = netdev_priv(dev);
diff --git a/drivers/net/acenic.h b/drivers/net/acenic.h
index efb14b9f4d90..8ca8534d70bf 100644
--- a/drivers/net/acenic.h
+++ b/drivers/net/acenic.h
@@ -769,7 +769,7 @@ static int ace_init(struct net_device *dev);
769static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs); 769static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs);
770static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs); 770static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs);
771static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs); 771static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs);
772static irqreturn_t ace_interrupt(int irq, void *dev_id, struct pt_regs *regs); 772static irqreturn_t ace_interrupt(int irq, void *dev_id);
773static int ace_load_firmware(struct net_device *dev); 773static int ace_load_firmware(struct net_device *dev);
774static int ace_open(struct net_device *dev); 774static int ace_open(struct net_device *dev);
775static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev); 775static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev);
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index 28855a01ed7b..ef65e5917c8f 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -1257,7 +1257,7 @@ static int amd8111e_calc_coalesce(struct net_device *dev)
1257/* 1257/*
1258This is device interrupt function. It handles transmit, receive,link change and hardware timer interrupts. 1258This is device interrupt function. It handles transmit, receive,link change and hardware timer interrupts.
1259*/ 1259*/
1260static irqreturn_t amd8111e_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1260static irqreturn_t amd8111e_interrupt(int irq, void *dev_id)
1261{ 1261{
1262 1262
1263 struct net_device * dev = (struct net_device *) dev_id; 1263 struct net_device * dev = (struct net_device *) dev_id;
@@ -1336,7 +1336,7 @@ static void amd8111e_poll(struct net_device *dev)
1336 unsigned long flags; 1336 unsigned long flags;
1337 local_save_flags(flags); 1337 local_save_flags(flags);
1338 local_irq_disable(); 1338 local_irq_disable();
1339 amd8111e_interrupt(0, dev, NULL); 1339 amd8111e_interrupt(0, dev);
1340 local_irq_restore(flags); 1340 local_irq_restore(flags);
1341} 1341}
1342#endif 1342#endif
diff --git a/drivers/net/apne.c b/drivers/net/apne.c
index 643b08cc7403..9164d8cd670e 100644
--- a/drivers/net/apne.c
+++ b/drivers/net/apne.c
@@ -88,7 +88,7 @@ static void apne_block_input(struct net_device *dev, int count,
88 struct sk_buff *skb, int ring_offset); 88 struct sk_buff *skb, int ring_offset);
89static void apne_block_output(struct net_device *dev, const int count, 89static void apne_block_output(struct net_device *dev, const int count,
90 const unsigned char *buf, const int start_page); 90 const unsigned char *buf, const int start_page);
91static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs); 91static irqreturn_t apne_interrupt(int irq, void *dev_id);
92 92
93static int init_pcmcia(void); 93static int init_pcmcia(void);
94 94
@@ -543,7 +543,7 @@ apne_block_output(struct net_device *dev, int count,
543 return; 543 return;
544} 544}
545 545
546static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs) 546static irqreturn_t apne_interrupt(int irq, void *dev_id)
547{ 547{
548 unsigned char pcmcia_intreq; 548 unsigned char pcmcia_intreq;
549 549
@@ -559,7 +559,7 @@ static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs)
559 if (ei_debug > 3) 559 if (ei_debug > 3)
560 printk("pcmcia intreq = %x\n", pcmcia_intreq); 560 printk("pcmcia intreq = %x\n", pcmcia_intreq);
561 pcmcia_disable_irq(); /* to get rid of the sti() within ei_interrupt */ 561 pcmcia_disable_irq(); /* to get rid of the sti() within ei_interrupt */
562 ei_interrupt(irq, dev_id, regs); 562 ei_interrupt(irq, dev_id);
563 pcmcia_ack_int(pcmcia_get_intreq()); 563 pcmcia_ack_int(pcmcia_get_intreq());
564 pcmcia_enable_irq(); 564 pcmcia_enable_irq();
565 return IRQ_HANDLED; 565 return IRQ_HANDLED;
diff --git a/drivers/net/appletalk/cops.c b/drivers/net/appletalk/cops.c
index ae7f828344d9..cc1a27ed197f 100644
--- a/drivers/net/appletalk/cops.c
+++ b/drivers/net/appletalk/cops.c
@@ -188,7 +188,7 @@ static void cops_reset (struct net_device *dev, int sleep);
188static void cops_load (struct net_device *dev); 188static void cops_load (struct net_device *dev);
189static int cops_nodeid (struct net_device *dev, int nodeid); 189static int cops_nodeid (struct net_device *dev, int nodeid);
190 190
191static irqreturn_t cops_interrupt (int irq, void *dev_id, struct pt_regs *regs); 191static irqreturn_t cops_interrupt (int irq, void *dev_id);
192static void cops_poll (unsigned long ltdev); 192static void cops_poll (unsigned long ltdev);
193static void cops_timeout(struct net_device *dev); 193static void cops_timeout(struct net_device *dev);
194static void cops_rx (struct net_device *dev); 194static void cops_rx (struct net_device *dev);
@@ -721,7 +721,7 @@ static void cops_poll(unsigned long ltdev)
721 * The typical workload of the driver: 721 * The typical workload of the driver:
722 * Handle the network interface interrupts. 722 * Handle the network interface interrupts.
723 */ 723 */
724static irqreturn_t cops_interrupt(int irq, void *dev_id, struct pt_regs * regs) 724static irqreturn_t cops_interrupt(int irq, void *dev_id)
725{ 725{
726 struct net_device *dev = dev_id; 726 struct net_device *dev = dev_id;
727 struct cops_local *lp; 727 struct cops_local *lp;
diff --git a/drivers/net/appletalk/ltpc.c b/drivers/net/appletalk/ltpc.c
index d5666c37cb0d..2ea44ce49810 100644
--- a/drivers/net/appletalk/ltpc.c
+++ b/drivers/net/appletalk/ltpc.c
@@ -790,7 +790,7 @@ static int sendup_buffer (struct net_device *dev)
790/* the handler for the board interrupt */ 790/* the handler for the board interrupt */
791 791
792static irqreturn_t 792static irqreturn_t
793ltpc_interrupt(int irq, void *dev_id, struct pt_regs *reg_ptr) 793ltpc_interrupt(int irq, void *dev_id)
794{ 794{
795 struct net_device *dev = dev_id; 795 struct net_device *dev = dev_id;
796 796
diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c
index 5a95005253fa..4e91dab1f17f 100644
--- a/drivers/net/arcnet/arcnet.c
+++ b/drivers/net/arcnet/arcnet.c
@@ -752,7 +752,7 @@ static void arcnet_timeout(struct net_device *dev)
752 * interrupts. Establish which device needs attention, and call the correct 752 * interrupts. Establish which device needs attention, and call the correct
753 * chipset interrupt handler. 753 * chipset interrupt handler.
754 */ 754 */
755irqreturn_t arcnet_interrupt(int irq, void *dev_id, struct pt_regs *regs) 755irqreturn_t arcnet_interrupt(int irq, void *dev_id)
756{ 756{
757 struct net_device *dev = dev_id; 757 struct net_device *dev = dev_id;
758 struct arcnet_local *lp; 758 struct arcnet_local *lp;
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
index 3aef3c10d56f..9dfc09b181c1 100644
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -120,7 +120,7 @@ static int ariadne_start_xmit(struct sk_buff *skb, struct net_device *dev);
120static void ariadne_tx_timeout(struct net_device *dev); 120static void ariadne_tx_timeout(struct net_device *dev);
121static int ariadne_rx(struct net_device *dev); 121static int ariadne_rx(struct net_device *dev);
122static void ariadne_reset(struct net_device *dev); 122static void ariadne_reset(struct net_device *dev);
123static irqreturn_t ariadne_interrupt(int irq, void *data, struct pt_regs *fp); 123static irqreturn_t ariadne_interrupt(int irq, void *data);
124static int ariadne_close(struct net_device *dev); 124static int ariadne_close(struct net_device *dev);
125static struct net_device_stats *ariadne_get_stats(struct net_device *dev); 125static struct net_device_stats *ariadne_get_stats(struct net_device *dev);
126#ifdef HAVE_MULTICAST 126#ifdef HAVE_MULTICAST
@@ -416,7 +416,7 @@ static inline void ariadne_reset(struct net_device *dev)
416} 416}
417 417
418 418
419static irqreturn_t ariadne_interrupt(int irq, void *data, struct pt_regs *fp) 419static irqreturn_t ariadne_interrupt(int irq, void *data)
420{ 420{
421 struct net_device *dev = (struct net_device *)data; 421 struct net_device *dev = (struct net_device *)data;
422 volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr; 422 volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c
index 09d5c3f26985..ddd12d44ff22 100644
--- a/drivers/net/arm/am79c961a.c
+++ b/drivers/net/arm/am79c961a.c
@@ -38,7 +38,7 @@
38#include "am79c961a.h" 38#include "am79c961a.h"
39 39
40static irqreturn_t 40static irqreturn_t
41am79c961_interrupt (int irq, void *dev_id, struct pt_regs *regs); 41am79c961_interrupt (int irq, void *dev_id);
42 42
43static unsigned int net_debug = NET_DEBUG; 43static unsigned int net_debug = NET_DEBUG;
44 44
@@ -596,7 +596,7 @@ am79c961_tx(struct net_device *dev, struct dev_priv *priv)
596} 596}
597 597
598static irqreturn_t 598static irqreturn_t
599am79c961_interrupt(int irq, void *dev_id, struct pt_regs *regs) 599am79c961_interrupt(int irq, void *dev_id)
600{ 600{
601 struct net_device *dev = (struct net_device *)dev_id; 601 struct net_device *dev = (struct net_device *)dev_id;
602 struct dev_priv *priv = netdev_priv(dev); 602 struct dev_priv *priv = netdev_priv(dev);
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 3ecf2cc53a7c..b54b857e357e 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -196,7 +196,7 @@ static void update_linkspeed(struct net_device *dev, int silent)
196/* 196/*
197 * Handle interrupts from the PHY 197 * Handle interrupts from the PHY
198 */ 198 */
199static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id, struct pt_regs *regs) 199static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id)
200{ 200{
201 struct net_device *dev = (struct net_device *) dev_id; 201 struct net_device *dev = (struct net_device *) dev_id;
202 struct at91_private *lp = (struct at91_private *) dev->priv; 202 struct at91_private *lp = (struct at91_private *) dev->priv;
@@ -888,7 +888,7 @@ static void at91ether_rx(struct net_device *dev)
888/* 888/*
889 * MAC interrupt handler 889 * MAC interrupt handler
890 */ 890 */
891static irqreturn_t at91ether_interrupt(int irq, void *dev_id, struct pt_regs *regs) 891static irqreturn_t at91ether_interrupt(int irq, void *dev_id)
892{ 892{
893 struct net_device *dev = (struct net_device *) dev_id; 893 struct net_device *dev = (struct net_device *) dev_id;
894 struct at91_private *lp = (struct at91_private *) dev->priv; 894 struct at91_private *lp = (struct at91_private *) dev->priv;
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c
index d231efa624d4..127561c782fd 100644
--- a/drivers/net/arm/ep93xx_eth.c
+++ b/drivers/net/arm/ep93xx_eth.c
@@ -435,7 +435,7 @@ static void ep93xx_tx_complete(struct net_device *dev)
435 netif_wake_queue(dev); 435 netif_wake_queue(dev);
436} 436}
437 437
438static irqreturn_t ep93xx_irq(int irq, void *dev_id, struct pt_regs *regs) 438static irqreturn_t ep93xx_irq(int irq, void *dev_id)
439{ 439{
440 struct net_device *dev = dev_id; 440 struct net_device *dev = dev_id;
441 struct ep93xx_priv *ep = netdev_priv(dev); 441 struct ep93xx_priv *ep = netdev_priv(dev);
diff --git a/drivers/net/arm/ether1.c b/drivers/net/arm/ether1.c
index 312955d07b28..f3478a30e778 100644
--- a/drivers/net/arm/ether1.c
+++ b/drivers/net/arm/ether1.c
@@ -68,7 +68,7 @@ static unsigned int net_debug = NET_DEBUG;
68 68
69static int ether1_open(struct net_device *dev); 69static int ether1_open(struct net_device *dev);
70static int ether1_sendpacket(struct sk_buff *skb, struct net_device *dev); 70static int ether1_sendpacket(struct sk_buff *skb, struct net_device *dev);
71static irqreturn_t ether1_interrupt(int irq, void *dev_id, struct pt_regs *regs); 71static irqreturn_t ether1_interrupt(int irq, void *dev_id);
72static int ether1_close(struct net_device *dev); 72static int ether1_close(struct net_device *dev);
73static struct net_device_stats *ether1_getstats(struct net_device *dev); 73static struct net_device_stats *ether1_getstats(struct net_device *dev);
74static void ether1_setmulticastlist(struct net_device *dev); 74static void ether1_setmulticastlist(struct net_device *dev);
@@ -908,7 +908,7 @@ ether1_recv_done (struct net_device *dev)
908} 908}
909 909
910static irqreturn_t 910static irqreturn_t
911ether1_interrupt (int irq, void *dev_id, struct pt_regs *regs) 911ether1_interrupt (int irq, void *dev_id)
912{ 912{
913 struct net_device *dev = (struct net_device *)dev_id; 913 struct net_device *dev = (struct net_device *)dev_id;
914 int status; 914 int status;
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c
index 081074180e62..84686c8a5bc2 100644
--- a/drivers/net/arm/ether3.c
+++ b/drivers/net/arm/ether3.c
@@ -81,7 +81,7 @@ static int ether3_rx(struct net_device *dev, unsigned int maxcnt);
81static void ether3_tx(struct net_device *dev); 81static void ether3_tx(struct net_device *dev);
82static int ether3_open (struct net_device *dev); 82static int ether3_open (struct net_device *dev);
83static int ether3_sendpacket (struct sk_buff *skb, struct net_device *dev); 83static int ether3_sendpacket (struct sk_buff *skb, struct net_device *dev);
84static irqreturn_t ether3_interrupt (int irq, void *dev_id, struct pt_regs *regs); 84static irqreturn_t ether3_interrupt (int irq, void *dev_id);
85static int ether3_close (struct net_device *dev); 85static int ether3_close (struct net_device *dev);
86static struct net_device_stats *ether3_getstats (struct net_device *dev); 86static struct net_device_stats *ether3_getstats (struct net_device *dev);
87static void ether3_setmulticastlist (struct net_device *dev); 87static void ether3_setmulticastlist (struct net_device *dev);
@@ -568,7 +568,7 @@ ether3_sendpacket(struct sk_buff *skb, struct net_device *dev)
568} 568}
569 569
570static irqreturn_t 570static irqreturn_t
571ether3_interrupt(int irq, void *dev_id, struct pt_regs *regs) 571ether3_interrupt(int irq, void *dev_id)
572{ 572{
573 struct net_device *dev = (struct net_device *)dev_id; 573 struct net_device *dev = (struct net_device *)dev_id;
574 unsigned int status, handled = IRQ_NONE; 574 unsigned int status, handled = IRQ_NONE;
diff --git a/drivers/net/at1700.c b/drivers/net/at1700.c
index 4aeca11f3ee2..8620a5b470f5 100644
--- a/drivers/net/at1700.c
+++ b/drivers/net/at1700.c
@@ -161,7 +161,7 @@ static int at1700_probe1(struct net_device *dev, int ioaddr);
161static int read_eeprom(long ioaddr, int location); 161static int read_eeprom(long ioaddr, int location);
162static int net_open(struct net_device *dev); 162static int net_open(struct net_device *dev);
163static int net_send_packet(struct sk_buff *skb, struct net_device *dev); 163static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
164static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs *regs); 164static irqreturn_t net_interrupt(int irq, void *dev_id);
165static void net_rx(struct net_device *dev); 165static void net_rx(struct net_device *dev);
166static int net_close(struct net_device *dev); 166static int net_close(struct net_device *dev);
167static struct net_device_stats *net_get_stats(struct net_device *dev); 167static struct net_device_stats *net_get_stats(struct net_device *dev);
@@ -648,8 +648,7 @@ static int net_send_packet (struct sk_buff *skb, struct net_device *dev)
648 648
649/* The typical workload of the driver: 649/* The typical workload of the driver:
650 Handle the network interface interrupts. */ 650 Handle the network interface interrupts. */
651static irqreturn_t 651static irqreturn_t net_interrupt(int irq, void *dev_id)
652net_interrupt(int irq, void *dev_id, struct pt_regs *regs)
653{ 652{
654 struct net_device *dev = dev_id; 653 struct net_device *dev = dev_id;
655 struct net_local *lp; 654 struct net_local *lp;
diff --git a/drivers/net/atari_bionet.c b/drivers/net/atari_bionet.c
index 92b52138acad..4e3bf6a1f22c 100644
--- a/drivers/net/atari_bionet.c
+++ b/drivers/net/atari_bionet.c
@@ -220,7 +220,7 @@ gsend:
220} 220}
221 221
222static irqreturn_t 222static irqreturn_t
223bionet_intr(int irq, void *data, struct pt_regs *fp) { 223bionet_intr(int irq, void *data) {
224 return IRQ_HANDLED; 224 return IRQ_HANDLED;
225} 225}
226 226
diff --git a/drivers/net/atari_pamsnet.c b/drivers/net/atari_pamsnet.c
index a1026251b933..3b5436149286 100644
--- a/drivers/net/atari_pamsnet.c
+++ b/drivers/net/atari_pamsnet.c
@@ -163,7 +163,7 @@ static int pamsnet_close(struct net_device *dev);
163static struct net_device_stats *net_get_stats(struct net_device *dev); 163static struct net_device_stats *net_get_stats(struct net_device *dev);
164static void pamsnet_tick(unsigned long); 164static void pamsnet_tick(unsigned long);
165 165
166static irqreturn_t pamsnet_intr(int irq, void *data, struct pt_regs *fp); 166static irqreturn_t pamsnet_intr(int irq, void *data);
167 167
168static DEFINE_TIMER(pamsnet_timer, pamsnet_tick, 0, 0); 168static DEFINE_TIMER(pamsnet_timer, pamsnet_tick, 0, 0);
169 169
@@ -494,7 +494,6 @@ static irqreturn_t
494pamsnet_intr(irq, data, fp) 494pamsnet_intr(irq, data, fp)
495 int irq; 495 int irq;
496 void *data; 496 void *data;
497 struct pt_regs *fp;
498{ 497{
499 return IRQ_HANDLED; 498 return IRQ_HANDLED;
500} 499}
diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c
index b6570ca6ada7..d79489e46249 100644
--- a/drivers/net/atarilance.c
+++ b/drivers/net/atarilance.c
@@ -344,7 +344,7 @@ static unsigned long lance_probe1( struct net_device *dev, struct lance_addr
344static int lance_open( struct net_device *dev ); 344static int lance_open( struct net_device *dev );
345static void lance_init_ring( struct net_device *dev ); 345static void lance_init_ring( struct net_device *dev );
346static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev ); 346static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev );
347static irqreturn_t lance_interrupt( int irq, void *dev_id, struct pt_regs *fp ); 347static irqreturn_t lance_interrupt( int irq, void *dev_id );
348static int lance_rx( struct net_device *dev ); 348static int lance_rx( struct net_device *dev );
349static int lance_close( struct net_device *dev ); 349static int lance_close( struct net_device *dev );
350static struct net_device_stats *lance_get_stats( struct net_device *dev ); 350static struct net_device_stats *lance_get_stats( struct net_device *dev );
@@ -866,7 +866,7 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )
866 866
867/* The LANCE interrupt handler. */ 867/* The LANCE interrupt handler. */
868 868
869static irqreturn_t lance_interrupt( int irq, void *dev_id, struct pt_regs *fp) 869static irqreturn_t lance_interrupt( int irq, void *dev_id )
870{ 870{
871 struct net_device *dev = dev_id; 871 struct net_device *dev = dev_id;
872 struct lance_private *lp; 872 struct lance_private *lp;
diff --git a/drivers/net/atp.c b/drivers/net/atp.c
index f2c8e0d5497b..062f80e20874 100644
--- a/drivers/net/atp.c
+++ b/drivers/net/atp.c
@@ -203,7 +203,7 @@ static void hardware_init(struct net_device *dev);
203static void write_packet(long ioaddr, int length, unsigned char *packet, int pad, int mode); 203static void write_packet(long ioaddr, int length, unsigned char *packet, int pad, int mode);
204static void trigger_send(long ioaddr, int length); 204static void trigger_send(long ioaddr, int length);
205static int atp_send_packet(struct sk_buff *skb, struct net_device *dev); 205static int atp_send_packet(struct sk_buff *skb, struct net_device *dev);
206static irqreturn_t atp_interrupt(int irq, void *dev_id, struct pt_regs *regs); 206static irqreturn_t atp_interrupt(int irq, void *dev_id);
207static void net_rx(struct net_device *dev); 207static void net_rx(struct net_device *dev);
208static void read_block(long ioaddr, int length, unsigned char *buffer, int data_mode); 208static void read_block(long ioaddr, int length, unsigned char *buffer, int data_mode);
209static int net_close(struct net_device *dev); 209static int net_close(struct net_device *dev);
@@ -596,8 +596,7 @@ static int atp_send_packet(struct sk_buff *skb, struct net_device *dev)
596 596
597/* The typical workload of the driver: 597/* The typical workload of the driver:
598 Handle the network interface interrupts. */ 598 Handle the network interface interrupts. */
599static irqreturn_t 599static irqreturn_t atp_interrupt(int irq, void *dev_instance)
600atp_interrupt(int irq, void *dev_instance, struct pt_regs * regs)
601{ 600{
602 struct net_device *dev = (struct net_device *)dev_instance; 601 struct net_device *dev = (struct net_device *)dev_instance;
603 struct net_local *lp; 602 struct net_local *lp;
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index ac33b1b9cf4a..4873dc610d22 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -89,7 +89,7 @@ static int au1000_open(struct net_device *);
89static int au1000_close(struct net_device *); 89static int au1000_close(struct net_device *);
90static int au1000_tx(struct sk_buff *, struct net_device *); 90static int au1000_tx(struct sk_buff *, struct net_device *);
91static int au1000_rx(struct net_device *); 91static int au1000_rx(struct net_device *);
92static irqreturn_t au1000_interrupt(int, void *, struct pt_regs *); 92static irqreturn_t au1000_interrupt(int, void *);
93static void au1000_tx_timeout(struct net_device *); 93static void au1000_tx_timeout(struct net_device *);
94static void set_rx_mode(struct net_device *); 94static void set_rx_mode(struct net_device *);
95static struct net_device_stats *au1000_get_stats(struct net_device *); 95static struct net_device_stats *au1000_get_stats(struct net_device *);
@@ -1253,7 +1253,7 @@ static int au1000_rx(struct net_device *dev)
1253/* 1253/*
1254 * Au1000 interrupt service routine. 1254 * Au1000 interrupt service routine.
1255 */ 1255 */
1256static irqreturn_t au1000_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1256static irqreturn_t au1000_interrupt(int irq, void *dev_id)
1257{ 1257{
1258 struct net_device *dev = (struct net_device *) dev_id; 1258 struct net_device *dev = (struct net_device *) dev_id;
1259 1259
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index e891ea2ecc3c..b124eee4eb10 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -896,7 +896,7 @@ static int b44_poll(struct net_device *netdev, int *budget)
896 return (done ? 0 : 1); 896 return (done ? 0 : 1);
897} 897}
898 898
899static irqreturn_t b44_interrupt(int irq, void *dev_id, struct pt_regs *regs) 899static irqreturn_t b44_interrupt(int irq, void *dev_id)
900{ 900{
901 struct net_device *dev = dev_id; 901 struct net_device *dev = dev_id;
902 struct b44 *bp = netdev_priv(dev); 902 struct b44 *bp = netdev_priv(dev);
@@ -1461,7 +1461,7 @@ out:
1461static void b44_poll_controller(struct net_device *dev) 1461static void b44_poll_controller(struct net_device *dev)
1462{ 1462{
1463 disable_irq(dev->irq); 1463 disable_irq(dev->irq);
1464 b44_interrupt(dev->irq, dev, NULL); 1464 b44_interrupt(dev->irq, dev);
1465 enable_irq(dev->irq); 1465 enable_irq(dev->irq);
1466} 1466}
1467#endif 1467#endif
diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c
index 4adfe7b77031..4528ce9c4e43 100644
--- a/drivers/net/bmac.c
+++ b/drivers/net/bmac.c
@@ -152,9 +152,9 @@ static void bmac_init_chip(struct net_device *dev);
152static void bmac_init_registers(struct net_device *dev); 152static void bmac_init_registers(struct net_device *dev);
153static void bmac_enable_and_reset_chip(struct net_device *dev); 153static void bmac_enable_and_reset_chip(struct net_device *dev);
154static int bmac_set_address(struct net_device *dev, void *addr); 154static int bmac_set_address(struct net_device *dev, void *addr);
155static irqreturn_t bmac_misc_intr(int irq, void *dev_id, struct pt_regs *regs); 155static irqreturn_t bmac_misc_intr(int irq, void *dev_id);
156static irqreturn_t bmac_txdma_intr(int irq, void *dev_id, struct pt_regs *regs); 156static irqreturn_t bmac_txdma_intr(int irq, void *dev_id);
157static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs); 157static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id);
158static void bmac_set_timeout(struct net_device *dev); 158static void bmac_set_timeout(struct net_device *dev);
159static void bmac_tx_timeout(unsigned long data); 159static void bmac_tx_timeout(unsigned long data);
160static int bmac_output(struct sk_buff *skb, struct net_device *dev); 160static int bmac_output(struct sk_buff *skb, struct net_device *dev);
@@ -688,7 +688,7 @@ static int bmac_transmit_packet(struct sk_buff *skb, struct net_device *dev)
688 688
689static int rxintcount; 689static int rxintcount;
690 690
691static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs) 691static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)
692{ 692{
693 struct net_device *dev = (struct net_device *) dev_id; 693 struct net_device *dev = (struct net_device *) dev_id;
694 struct bmac_data *bp = netdev_priv(dev); 694 struct bmac_data *bp = netdev_priv(dev);
@@ -765,7 +765,7 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs)
765 765
766static int txintcount; 766static int txintcount;
767 767
768static irqreturn_t bmac_txdma_intr(int irq, void *dev_id, struct pt_regs *regs) 768static irqreturn_t bmac_txdma_intr(int irq, void *dev_id)
769{ 769{
770 struct net_device *dev = (struct net_device *) dev_id; 770 struct net_device *dev = (struct net_device *) dev_id;
771 struct bmac_data *bp = netdev_priv(dev); 771 struct bmac_data *bp = netdev_priv(dev);
@@ -1082,7 +1082,7 @@ static void bmac_set_multicast(struct net_device *dev)
1082 1082
1083static int miscintcount; 1083static int miscintcount;
1084 1084
1085static irqreturn_t bmac_misc_intr(int irq, void *dev_id, struct pt_regs *regs) 1085static irqreturn_t bmac_misc_intr(int irq, void *dev_id)
1086{ 1086{
1087 struct net_device *dev = (struct net_device *) dev_id; 1087 struct net_device *dev = (struct net_device *) dev_id;
1088 struct bmac_data *bp = netdev_priv(dev); 1088 struct bmac_data *bp = netdev_priv(dev);
@@ -1091,7 +1091,7 @@ static irqreturn_t bmac_misc_intr(int irq, void *dev_id, struct pt_regs *regs)
1091 XXDEBUG(("bmac_misc_intr\n")); 1091 XXDEBUG(("bmac_misc_intr\n"));
1092 } 1092 }
1093 /* XXDEBUG(("bmac_misc_intr, status=%#08x\n", status)); */ 1093 /* XXDEBUG(("bmac_misc_intr, status=%#08x\n", status)); */
1094 /* bmac_txdma_intr_inner(irq, dev_id, regs); */ 1094 /* bmac_txdma_intr_inner(irq, dev_id); */
1095 /* if (status & FrameReceived) bp->stats.rx_dropped++; */ 1095 /* if (status & FrameReceived) bp->stats.rx_dropped++; */
1096 if (status & RxErrorMask) bp->stats.rx_errors++; 1096 if (status & RxErrorMask) bp->stats.rx_errors++;
1097 if (status & RxCRCCntExp) bp->stats.rx_crc_errors++; 1097 if (status & RxCRCCntExp) bp->stats.rx_crc_errors++;
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 6b4edb63c4c4..01b76d3aa42f 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -1888,7 +1888,7 @@ next_rx:
1888 * is that the MSI interrupt is always serviced. 1888 * is that the MSI interrupt is always serviced.
1889 */ 1889 */
1890static irqreturn_t 1890static irqreturn_t
1891bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs) 1891bnx2_msi(int irq, void *dev_instance)
1892{ 1892{
1893 struct net_device *dev = dev_instance; 1893 struct net_device *dev = dev_instance;
1894 struct bnx2 *bp = netdev_priv(dev); 1894 struct bnx2 *bp = netdev_priv(dev);
@@ -1908,7 +1908,7 @@ bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs)
1908} 1908}
1909 1909
1910static irqreturn_t 1910static irqreturn_t
1911bnx2_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 1911bnx2_interrupt(int irq, void *dev_instance)
1912{ 1912{
1913 struct net_device *dev = dev_instance; 1913 struct net_device *dev = dev_instance;
1914 struct bnx2 *bp = netdev_priv(dev); 1914 struct bnx2 *bp = netdev_priv(dev);
@@ -5554,7 +5554,7 @@ poll_bnx2(struct net_device *dev)
5554 struct bnx2 *bp = netdev_priv(dev); 5554 struct bnx2 *bp = netdev_priv(dev);
5555 5555
5556 disable_irq(bp->pdev->irq); 5556 disable_irq(bp->pdev->irq);
5557 bnx2_interrupt(bp->pdev->irq, dev, NULL); 5557 bnx2_interrupt(bp->pdev->irq, dev);
5558 enable_irq(bp->pdev->irq); 5558 enable_irq(bp->pdev->irq);
5559} 5559}
5560#endif 5560#endif
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index 7694365092f8..521c5b71023c 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -2469,7 +2469,7 @@ static inline void cas_handle_irqN(struct net_device *dev,
2469 cas_post_rxcs_ringN(dev, cp, ring); 2469 cas_post_rxcs_ringN(dev, cp, ring);
2470} 2470}
2471 2471
2472static irqreturn_t cas_interruptN(int irq, void *dev_id, struct pt_regs *regs) 2472static irqreturn_t cas_interruptN(int irq, void *dev_id)
2473{ 2473{
2474 struct net_device *dev = dev_id; 2474 struct net_device *dev = dev_id;
2475 struct cas *cp = netdev_priv(dev); 2475 struct cas *cp = netdev_priv(dev);
@@ -2522,7 +2522,7 @@ static inline void cas_handle_irq1(struct cas *cp, const u32 status)
2522} 2522}
2523 2523
2524/* ring 2 handles a few more events than 3 and 4 */ 2524/* ring 2 handles a few more events than 3 and 4 */
2525static irqreturn_t cas_interrupt1(int irq, void *dev_id, struct pt_regs *regs) 2525static irqreturn_t cas_interrupt1(int irq, void *dev_id)
2526{ 2526{
2527 struct net_device *dev = dev_id; 2527 struct net_device *dev = dev_id;
2528 struct cas *cp = netdev_priv(dev); 2528 struct cas *cp = netdev_priv(dev);
@@ -2574,7 +2574,7 @@ static inline void cas_handle_irq(struct net_device *dev,
2574 cas_post_rxcs_ringN(dev, cp, 0); 2574 cas_post_rxcs_ringN(dev, cp, 0);
2575} 2575}
2576 2576
2577static irqreturn_t cas_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2577static irqreturn_t cas_interrupt(int irq, void *dev_id)
2578{ 2578{
2579 struct net_device *dev = dev_id; 2579 struct net_device *dev = dev_id;
2580 struct cas *cp = netdev_priv(dev); 2580 struct cas *cp = netdev_priv(dev);
@@ -2689,7 +2689,7 @@ static void cas_netpoll(struct net_device *dev)
2689 struct cas *cp = netdev_priv(dev); 2689 struct cas *cp = netdev_priv(dev);
2690 2690
2691 cas_disable_irq(cp, 0); 2691 cas_disable_irq(cp, 0);
2692 cas_interrupt(cp->pdev->irq, dev, NULL); 2692 cas_interrupt(cp->pdev->irq, dev);
2693 cas_enable_irq(cp, 0); 2693 cas_enable_irq(cp, 0);
2694 2694
2695#ifdef USE_PCI_INTB 2695#ifdef USE_PCI_INTB
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index 5f1b06753462..ad7ff9641a7e 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -918,7 +918,7 @@ static void t1_netpoll(struct net_device *dev)
918 struct adapter *adapter = dev->priv; 918 struct adapter *adapter = dev->priv;
919 919
920 local_irq_save(flags); 920 local_irq_save(flags);
921 t1_select_intr_handler(adapter)(adapter->pdev->irq, adapter, NULL); 921 t1_select_intr_handler(adapter)(adapter->pdev->irq, adapter);
922 local_irq_restore(flags); 922 local_irq_restore(flags);
923} 923}
924#endif 924#endif
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index ddd0bdb498f4..9799c12380fc 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -1217,7 +1217,7 @@ static inline int napi_is_scheduled(struct net_device *dev)
1217/* 1217/*
1218 * NAPI version of the main interrupt handler. 1218 * NAPI version of the main interrupt handler.
1219 */ 1219 */
1220static irqreturn_t t1_interrupt_napi(int irq, void *data, struct pt_regs *regs) 1220static irqreturn_t t1_interrupt_napi(int irq, void *data)
1221{ 1221{
1222 int handled; 1222 int handled;
1223 struct adapter *adapter = data; 1223 struct adapter *adapter = data;
@@ -1279,7 +1279,7 @@ static irqreturn_t t1_interrupt_napi(int irq, void *data, struct pt_regs *regs)
1279 * 5. If we took an interrupt, but no valid respQ descriptors was found we 1279 * 5. If we took an interrupt, but no valid respQ descriptors was found we
1280 * let the slow_intr_handler run and do error handling. 1280 * let the slow_intr_handler run and do error handling.
1281 */ 1281 */
1282static irqreturn_t t1_interrupt(int irq, void *cookie, struct pt_regs *regs) 1282static irqreturn_t t1_interrupt(int irq, void *cookie)
1283{ 1283{
1284 int work_done; 1284 int work_done;
1285 struct respQ_e *e; 1285 struct respQ_e *e;
@@ -1312,7 +1312,7 @@ static irqreturn_t t1_interrupt(int irq, void *cookie, struct pt_regs *regs)
1312 return IRQ_RETVAL(work_done != 0); 1312 return IRQ_RETVAL(work_done != 0);
1313} 1313}
1314 1314
1315intr_handler_t t1_select_intr_handler(adapter_t *adapter) 1315irq_handler_t t1_select_intr_handler(adapter_t *adapter)
1316{ 1316{
1317 return adapter->params.sge.polling ? t1_interrupt_napi : t1_interrupt; 1317 return adapter->params.sge.polling ? t1_interrupt_napi : t1_interrupt;
1318} 1318}
diff --git a/drivers/net/chelsio/sge.h b/drivers/net/chelsio/sge.h
index 6d0d24a6364f..91af47bab7be 100644
--- a/drivers/net/chelsio/sge.h
+++ b/drivers/net/chelsio/sge.h
@@ -43,13 +43,6 @@
43#include <linux/interrupt.h> 43#include <linux/interrupt.h>
44#include <asm/byteorder.h> 44#include <asm/byteorder.h>
45 45
46#ifndef IRQ_RETVAL
47#define IRQ_RETVAL(x)
48typedef void irqreturn_t;
49#endif
50
51typedef irqreturn_t (*intr_handler_t)(int, void *, struct pt_regs *);
52
53struct sge_intr_counts { 46struct sge_intr_counts {
54 unsigned int respQ_empty; /* # times respQ empty */ 47 unsigned int respQ_empty; /* # times respQ empty */
55 unsigned int respQ_overflow; /* # respQ overflow (fatal) */ 48 unsigned int respQ_overflow; /* # respQ overflow (fatal) */
@@ -88,7 +81,7 @@ struct sge *t1_sge_create(struct adapter *, struct sge_params *);
88int t1_sge_configure(struct sge *, struct sge_params *); 81int t1_sge_configure(struct sge *, struct sge_params *);
89int t1_sge_set_coalesce_params(struct sge *, struct sge_params *); 82int t1_sge_set_coalesce_params(struct sge *, struct sge_params *);
90void t1_sge_destroy(struct sge *); 83void t1_sge_destroy(struct sge *);
91intr_handler_t t1_select_intr_handler(adapter_t *adapter); 84irq_handler_t t1_select_intr_handler(adapter_t *adapter);
92int t1_start_xmit(struct sk_buff *skb, struct net_device *dev); 85int t1_start_xmit(struct sk_buff *skb, struct net_device *dev);
93void t1_set_vlan_accel(struct adapter *adapter, int on_off); 86void t1_set_vlan_accel(struct adapter *adapter, int on_off);
94void t1_sge_start(struct sge *); 87void t1_sge_start(struct sge *);
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index f1501b6f247e..966b563e42bb 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -403,8 +403,8 @@ static int etrax_ethernet_init(void);
403static int e100_open(struct net_device *dev); 403static int e100_open(struct net_device *dev);
404static int e100_set_mac_address(struct net_device *dev, void *addr); 404static int e100_set_mac_address(struct net_device *dev, void *addr);
405static int e100_send_packet(struct sk_buff *skb, struct net_device *dev); 405static int e100_send_packet(struct sk_buff *skb, struct net_device *dev);
406static irqreturn_t e100rxtx_interrupt(int irq, void *dev_id, struct pt_regs *regs); 406static irqreturn_t e100rxtx_interrupt(int irq, void *dev_id);
407static irqreturn_t e100nw_interrupt(int irq, void *dev_id, struct pt_regs *regs); 407static irqreturn_t e100nw_interrupt(int irq, void *dev_id);
408static void e100_rx(struct net_device *dev); 408static void e100_rx(struct net_device *dev);
409static int e100_close(struct net_device *dev); 409static int e100_close(struct net_device *dev);
410static int e100_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); 410static int e100_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
@@ -1197,7 +1197,7 @@ e100_send_packet(struct sk_buff *skb, struct net_device *dev)
1197 */ 1197 */
1198 1198
1199static irqreturn_t 1199static irqreturn_t
1200e100rxtx_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1200e100rxtx_interrupt(int irq, void *dev_id)
1201{ 1201{
1202 struct net_device *dev = (struct net_device *)dev_id; 1202 struct net_device *dev = (struct net_device *)dev_id;
1203 struct net_local *np = (struct net_local *)dev->priv; 1203 struct net_local *np = (struct net_local *)dev->priv;
@@ -1264,7 +1264,7 @@ e100rxtx_interrupt(int irq, void *dev_id, struct pt_regs * regs)
1264} 1264}
1265 1265
1266static irqreturn_t 1266static irqreturn_t
1267e100nw_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1267e100nw_interrupt(int irq, void *dev_id)
1268{ 1268{
1269 struct net_device *dev = (struct net_device *)dev_id; 1269 struct net_device *dev = (struct net_device *)dev_id;
1270 struct net_local *np = (struct net_local *)dev->priv; 1270 struct net_local *np = (struct net_local *)dev->priv;
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c
index e4d50f0de930..4ffc9b44a8e1 100644
--- a/drivers/net/cs89x0.c
+++ b/drivers/net/cs89x0.c
@@ -249,7 +249,7 @@ struct net_local {
249static int cs89x0_probe1(struct net_device *dev, int ioaddr, int modular); 249static int cs89x0_probe1(struct net_device *dev, int ioaddr, int modular);
250static int net_open(struct net_device *dev); 250static int net_open(struct net_device *dev);
251static int net_send_packet(struct sk_buff *skb, struct net_device *dev); 251static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
252static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs *regs); 252static irqreturn_t net_interrupt(int irq, void *dev_id);
253static void set_multicast_list(struct net_device *dev); 253static void set_multicast_list(struct net_device *dev);
254static void net_timeout(struct net_device *dev); 254static void net_timeout(struct net_device *dev);
255static void net_rx(struct net_device *dev); 255static void net_rx(struct net_device *dev);
@@ -495,7 +495,7 @@ get_eeprom_cksum(int off, int len, int *buffer)
495static void net_poll_controller(struct net_device *dev) 495static void net_poll_controller(struct net_device *dev)
496{ 496{
497 disable_irq(dev->irq); 497 disable_irq(dev->irq);
498 net_interrupt(dev->irq, dev, NULL); 498 net_interrupt(dev->irq, dev);
499 enable_irq(dev->irq); 499 enable_irq(dev->irq);
500} 500}
501#endif 501#endif
@@ -1573,7 +1573,7 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
1573/* The typical workload of the driver: 1573/* The typical workload of the driver:
1574 Handle the network interface interrupts. */ 1574 Handle the network interface interrupts. */
1575 1575
1576static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1576static irqreturn_t net_interrupt(int irq, void *dev_id)
1577{ 1577{
1578 struct net_device *dev = dev_id; 1578 struct net_device *dev = dev_id;
1579 struct net_local *lp; 1579 struct net_local *lp;
diff --git a/drivers/net/de600.c b/drivers/net/de600.c
index 0b930da5d47d..d9b006c9e367 100644
--- a/drivers/net/de600.c
+++ b/drivers/net/de600.c
@@ -258,7 +258,7 @@ static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev)
258 * Handle the network interface interrupts. 258 * Handle the network interface interrupts.
259 */ 259 */
260 260
261static irqreturn_t de600_interrupt(int irq, void *dev_id, struct pt_regs * regs) 261static irqreturn_t de600_interrupt(int irq, void *dev_id)
262{ 262{
263 struct net_device *dev = dev_id; 263 struct net_device *dev = dev_id;
264 u8 irq_status; 264 u8 irq_status;
diff --git a/drivers/net/de600.h b/drivers/net/de600.h
index e4073015dcd8..1288e48ba704 100644
--- a/drivers/net/de600.h
+++ b/drivers/net/de600.h
@@ -125,7 +125,7 @@ static struct net_device_stats *get_stats(struct net_device *dev);
125static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev); 125static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev);
126 126
127/* Dispatch from interrupts. */ 127/* Dispatch from interrupts. */
128static irqreturn_t de600_interrupt(int irq, void *dev_id, struct pt_regs *regs); 128static irqreturn_t de600_interrupt(int irq, void *dev_id);
129static int de600_tx_intr(struct net_device *dev, int irq_status); 129static int de600_tx_intr(struct net_device *dev, int irq_status);
130static void de600_rx_intr(struct net_device *dev); 130static void de600_rx_intr(struct net_device *dev);
131 131
diff --git a/drivers/net/de620.c b/drivers/net/de620.c
index a18d4d14b665..b6ad0cb50552 100644
--- a/drivers/net/de620.c
+++ b/drivers/net/de620.c
@@ -221,7 +221,7 @@ static void de620_set_multicast_list(struct net_device *);
221static int de620_start_xmit(struct sk_buff *, struct net_device *); 221static int de620_start_xmit(struct sk_buff *, struct net_device *);
222 222
223/* Dispatch from interrupts. */ 223/* Dispatch from interrupts. */
224static irqreturn_t de620_interrupt(int, void *, struct pt_regs *); 224static irqreturn_t de620_interrupt(int, void *);
225static int de620_rx_intr(struct net_device *); 225static int de620_rx_intr(struct net_device *);
226 226
227/* Initialization */ 227/* Initialization */
@@ -591,7 +591,7 @@ static int de620_start_xmit(struct sk_buff *skb, struct net_device *dev)
591 * 591 *
592 */ 592 */
593static irqreturn_t 593static irqreturn_t
594de620_interrupt(int irq_in, void *dev_id, struct pt_regs *regs) 594de620_interrupt(int irq_in, void *dev_id)
595{ 595{
596 struct net_device *dev = dev_id; 596 struct net_device *dev = dev_id;
597 byte irq_status; 597 byte irq_status;
diff --git a/drivers/net/declance.c b/drivers/net/declance.c
index bbccd741cdbf..e179aa1c1ba0 100644
--- a/drivers/net/declance.c
+++ b/drivers/net/declance.c
@@ -694,8 +694,7 @@ out:
694 spin_unlock(&lp->lock); 694 spin_unlock(&lp->lock);
695} 695}
696 696
697static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id, 697static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id)
698 struct pt_regs *regs)
699{ 698{
700 struct net_device *dev = (struct net_device *) dev_id; 699 struct net_device *dev = (struct net_device *) dev_id;
701 700
@@ -703,8 +702,7 @@ static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id,
703 return IRQ_HANDLED; 702 return IRQ_HANDLED;
704} 703}
705 704
706static irqreturn_t lance_interrupt(const int irq, void *dev_id, 705static irqreturn_t lance_interrupt(const int irq, void *dev_id)
707 struct pt_regs *regs)
708{ 706{
709 struct net_device *dev = (struct net_device *) dev_id; 707 struct net_device *dev = (struct net_device *) dev_id;
710 struct lance_private *lp = netdev_priv(dev); 708 struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c
index ae9680552b82..8f514cc0debd 100644
--- a/drivers/net/defxx.c
+++ b/drivers/net/defxx.c
@@ -248,8 +248,7 @@ static int dfx_close(struct net_device *dev);
248static void dfx_int_pr_halt_id(DFX_board_t *bp); 248static void dfx_int_pr_halt_id(DFX_board_t *bp);
249static void dfx_int_type_0_process(DFX_board_t *bp); 249static void dfx_int_type_0_process(DFX_board_t *bp);
250static void dfx_int_common(struct net_device *dev); 250static void dfx_int_common(struct net_device *dev);
251static irqreturn_t dfx_interrupt(int irq, void *dev_id, 251static irqreturn_t dfx_interrupt(int irq, void *dev_id);
252 struct pt_regs *regs);
253 252
254static struct net_device_stats *dfx_ctl_get_stats(struct net_device *dev); 253static struct net_device_stats *dfx_ctl_get_stats(struct net_device *dev);
255static void dfx_ctl_set_multicast_list(struct net_device *dev); 254static void dfx_ctl_set_multicast_list(struct net_device *dev);
@@ -1693,7 +1692,6 @@ static void dfx_int_common(struct net_device *dev)
1693 * Arguments: 1692 * Arguments:
1694 * irq - interrupt vector 1693 * irq - interrupt vector
1695 * dev_id - pointer to device information 1694 * dev_id - pointer to device information
1696 * regs - pointer to registers structure
1697 * 1695 *
1698 * Functional Description: 1696 * Functional Description:
1699 * This routine calls the interrupt processing routine for this adapter. It 1697 * This routine calls the interrupt processing routine for this adapter. It
@@ -1716,7 +1714,7 @@ static void dfx_int_common(struct net_device *dev)
1716 * Interrupts are disabled, then reenabled at the adapter. 1714 * Interrupts are disabled, then reenabled at the adapter.
1717 */ 1715 */
1718 1716
1719static irqreturn_t dfx_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1717static irqreturn_t dfx_interrupt(int irq, void *dev_id)
1720{ 1718{
1721 struct net_device *dev = dev_id; 1719 struct net_device *dev = dev_id;
1722 DFX_board_t *bp; /* private board structure pointer */ 1720 DFX_board_t *bp; /* private board structure pointer */
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index af594664df51..f87f6e3dc721 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -518,7 +518,7 @@ struct depca_private {
518*/ 518*/
519static int depca_open(struct net_device *dev); 519static int depca_open(struct net_device *dev);
520static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev); 520static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev);
521static irqreturn_t depca_interrupt(int irq, void *dev_id, struct pt_regs *regs); 521static irqreturn_t depca_interrupt(int irq, void *dev_id);
522static int depca_close(struct net_device *dev); 522static int depca_close(struct net_device *dev);
523static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 523static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
524static void depca_tx_timeout(struct net_device *dev); 524static void depca_tx_timeout(struct net_device *dev);
@@ -965,7 +965,7 @@ static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
965/* 965/*
966** The DEPCA interrupt handler. 966** The DEPCA interrupt handler.
967*/ 967*/
968static irqreturn_t depca_interrupt(int irq, void *dev_id, struct pt_regs *regs) 968static irqreturn_t depca_interrupt(int irq, void *dev_id)
969{ 969{
970 struct net_device *dev = dev_id; 970 struct net_device *dev = dev_id;
971 struct depca_private *lp; 971 struct depca_private *lp;
diff --git a/drivers/net/dgrs.c b/drivers/net/dgrs.c
index d0842527b369..6b1234b09fb3 100644
--- a/drivers/net/dgrs.c
+++ b/drivers/net/dgrs.c
@@ -895,7 +895,7 @@ static int dgrs_ioctl(struct net_device *devN, struct ifreq *ifr, int cmd)
895 * dev, priv will always refer to the 0th device in Multi-NIC mode. 895 * dev, priv will always refer to the 0th device in Multi-NIC mode.
896 */ 896 */
897 897
898static irqreturn_t dgrs_intr(int irq, void *dev_id, struct pt_regs *regs) 898static irqreturn_t dgrs_intr(int irq, void *dev_id)
899{ 899{
900 struct net_device *dev0 = (struct net_device *) dev_id; 900 struct net_device *dev0 = (struct net_device *) dev_id;
901 DGRS_PRIV *priv0 = (DGRS_PRIV *) dev0->priv; 901 DGRS_PRIV *priv0 = (DGRS_PRIV *) dev0->priv;
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c
index 7e95cf1a4872..9d446a0fe0bf 100644
--- a/drivers/net/dl2k.c
+++ b/drivers/net/dl2k.c
@@ -60,7 +60,7 @@ static void rio_timer (unsigned long data);
60static void rio_tx_timeout (struct net_device *dev); 60static void rio_tx_timeout (struct net_device *dev);
61static void alloc_list (struct net_device *dev); 61static void alloc_list (struct net_device *dev);
62static int start_xmit (struct sk_buff *skb, struct net_device *dev); 62static int start_xmit (struct sk_buff *skb, struct net_device *dev);
63static irqreturn_t rio_interrupt (int irq, void *dev_instance, struct pt_regs *regs); 63static irqreturn_t rio_interrupt (int irq, void *dev_instance);
64static void rio_free_tx (struct net_device *dev, int irq); 64static void rio_free_tx (struct net_device *dev, int irq);
65static void tx_error (struct net_device *dev, int tx_status); 65static void tx_error (struct net_device *dev, int tx_status);
66static int receive_packet (struct net_device *dev); 66static int receive_packet (struct net_device *dev);
@@ -665,7 +665,7 @@ start_xmit (struct sk_buff *skb, struct net_device *dev)
665} 665}
666 666
667static irqreturn_t 667static irqreturn_t
668rio_interrupt (int irq, void *dev_instance, struct pt_regs *rgs) 668rio_interrupt (int irq, void *dev_instance)
669{ 669{
670 struct net_device *dev = dev_instance; 670 struct net_device *dev = dev_instance;
671 struct netdev_private *np; 671 struct netdev_private *np;
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index a860ebbbf815..3641f3b4a2cc 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -159,7 +159,7 @@ static void dm9000_init_dm9000(struct net_device *);
159 159
160static struct net_device_stats *dm9000_get_stats(struct net_device *); 160static struct net_device_stats *dm9000_get_stats(struct net_device *);
161 161
162static irqreturn_t dm9000_interrupt(int, void *, struct pt_regs *); 162static irqreturn_t dm9000_interrupt(int, void *);
163 163
164static int dm9000_phy_read(struct net_device *dev, int phyaddr_unsused, int reg); 164static int dm9000_phy_read(struct net_device *dev, int phyaddr_unsused, int reg);
165static void dm9000_phy_write(struct net_device *dev, int phyaddr_unused, int reg, 165static void dm9000_phy_write(struct net_device *dev, int phyaddr_unused, int reg,
@@ -804,7 +804,7 @@ dm9000_tx_done(struct net_device *dev, board_info_t * db)
804} 804}
805 805
806static irqreturn_t 806static irqreturn_t
807dm9000_interrupt(int irq, void *dev_id, struct pt_regs *regs) 807dm9000_interrupt(int irq, void *dev_id)
808{ 808{
809 struct net_device *dev = dev_id; 809 struct net_device *dev = dev_id;
810 board_info_t *db; 810 board_info_t *db;
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 26073c345213..27d5d2f02533 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -1949,7 +1949,7 @@ static int e100_rx_alloc_list(struct nic *nic)
1949 return 0; 1949 return 0;
1950} 1950}
1951 1951
1952static irqreturn_t e100_intr(int irq, void *dev_id, struct pt_regs *regs) 1952static irqreturn_t e100_intr(int irq, void *dev_id)
1953{ 1953{
1954 struct net_device *netdev = dev_id; 1954 struct net_device *netdev = dev_id;
1955 struct nic *nic = netdev_priv(netdev); 1955 struct nic *nic = netdev_priv(netdev);
@@ -2005,7 +2005,7 @@ static void e100_netpoll(struct net_device *netdev)
2005 struct nic *nic = netdev_priv(netdev); 2005 struct nic *nic = netdev_priv(netdev);
2006 2006
2007 e100_disable_irq(nic); 2007 e100_disable_irq(nic);
2008 e100_intr(nic->pdev->irq, netdev, NULL); 2008 e100_intr(nic->pdev->irq, netdev);
2009 e100_tx_clean(nic); 2009 e100_tx_clean(nic);
2010 e100_enable_irq(nic); 2010 e100_enable_irq(nic);
2011} 2011}
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index 778ede3c0216..773821e4cf57 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -883,8 +883,7 @@ e1000_eeprom_test(struct e1000_adapter *adapter, uint64_t *data)
883 883
884static irqreturn_t 884static irqreturn_t
885e1000_test_intr(int irq, 885e1000_test_intr(int irq,
886 void *data, 886 void *data)
887 struct pt_regs *regs)
888{ 887{
889 struct net_device *netdev = (struct net_device *) data; 888 struct net_device *netdev = (struct net_device *) data;
890 struct e1000_adapter *adapter = netdev_priv(netdev); 889 struct e1000_adapter *adapter = netdev_priv(netdev);
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 7dca38fba6a1..ce0d35fe3947 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -153,7 +153,7 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
153static struct net_device_stats * e1000_get_stats(struct net_device *netdev); 153static struct net_device_stats * e1000_get_stats(struct net_device *netdev);
154static int e1000_change_mtu(struct net_device *netdev, int new_mtu); 154static int e1000_change_mtu(struct net_device *netdev, int new_mtu);
155static int e1000_set_mac(struct net_device *netdev, void *p); 155static int e1000_set_mac(struct net_device *netdev, void *p);
156static irqreturn_t e1000_intr(int irq, void *data, struct pt_regs *regs); 156static irqreturn_t e1000_intr(int irq, void *data);
157static boolean_t e1000_clean_tx_irq(struct e1000_adapter *adapter, 157static boolean_t e1000_clean_tx_irq(struct e1000_adapter *adapter,
158 struct e1000_tx_ring *tx_ring); 158 struct e1000_tx_ring *tx_ring);
159#ifdef CONFIG_E1000_NAPI 159#ifdef CONFIG_E1000_NAPI
@@ -3436,11 +3436,10 @@ e1000_update_stats(struct e1000_adapter *adapter)
3436 * e1000_intr - Interrupt Handler 3436 * e1000_intr - Interrupt Handler
3437 * @irq: interrupt number 3437 * @irq: interrupt number
3438 * @data: pointer to a network interface device structure 3438 * @data: pointer to a network interface device structure
3439 * @pt_regs: CPU registers structure
3440 **/ 3439 **/
3441 3440
3442static irqreturn_t 3441static irqreturn_t
3443e1000_intr(int irq, void *data, struct pt_regs *regs) 3442e1000_intr(int irq, void *data)
3444{ 3443{
3445 struct net_device *netdev = data; 3444 struct net_device *netdev = data;
3446 struct e1000_adapter *adapter = netdev_priv(netdev); 3445 struct e1000_adapter *adapter = netdev_priv(netdev);
@@ -4862,7 +4861,7 @@ e1000_netpoll(struct net_device *netdev)
4862 struct e1000_adapter *adapter = netdev_priv(netdev); 4861 struct e1000_adapter *adapter = netdev_priv(netdev);
4863 4862
4864 disable_irq(adapter->pdev->irq); 4863 disable_irq(adapter->pdev->irq);
4865 e1000_intr(adapter->pdev->irq, netdev, NULL); 4864 e1000_intr(adapter->pdev->irq, netdev);
4866 e1000_clean_tx_irq(adapter, adapter->tx_ring); 4865 e1000_clean_tx_irq(adapter, adapter->tx_ring);
4867#ifndef CONFIG_E1000_NAPI 4866#ifndef CONFIG_E1000_NAPI
4868 adapter->clean_rx(adapter, adapter->rx_ring); 4867 adapter->clean_rx(adapter, adapter->rx_ring);
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c
index 09ff9b9418f4..aae454aaa1c6 100644
--- a/drivers/net/eepro.c
+++ b/drivers/net/eepro.c
@@ -311,7 +311,7 @@ struct eepro_local {
311static int eepro_probe1(struct net_device *dev, int autoprobe); 311static int eepro_probe1(struct net_device *dev, int autoprobe);
312static int eepro_open(struct net_device *dev); 312static int eepro_open(struct net_device *dev);
313static int eepro_send_packet(struct sk_buff *skb, struct net_device *dev); 313static int eepro_send_packet(struct sk_buff *skb, struct net_device *dev);
314static irqreturn_t eepro_interrupt(int irq, void *dev_id, struct pt_regs *regs); 314static irqreturn_t eepro_interrupt(int irq, void *dev_id);
315static void eepro_rx(struct net_device *dev); 315static void eepro_rx(struct net_device *dev);
316static void eepro_transmit_interrupt(struct net_device *dev); 316static void eepro_transmit_interrupt(struct net_device *dev);
317static int eepro_close(struct net_device *dev); 317static int eepro_close(struct net_device *dev);
@@ -1196,7 +1196,7 @@ static int eepro_send_packet(struct sk_buff *skb, struct net_device *dev)
1196 Handle the network interface interrupts. */ 1196 Handle the network interface interrupts. */
1197 1197
1198static irqreturn_t 1198static irqreturn_t
1199eepro_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1199eepro_interrupt(int irq, void *dev_id)
1200{ 1200{
1201 struct net_device *dev = (struct net_device *)dev_id; 1201 struct net_device *dev = (struct net_device *)dev_id;
1202 /* (struct net_device *)(irq2dev_map[irq]);*/ 1202 /* (struct net_device *)(irq2dev_map[irq]);*/
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index 499e93b31f54..e28bb1e38f8d 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -488,7 +488,7 @@ static int speedo_start_xmit(struct sk_buff *skb, struct net_device *dev);
488static void speedo_refill_rx_buffers(struct net_device *dev, int force); 488static void speedo_refill_rx_buffers(struct net_device *dev, int force);
489static int speedo_rx(struct net_device *dev); 489static int speedo_rx(struct net_device *dev);
490static void speedo_tx_buffer_gc(struct net_device *dev); 490static void speedo_tx_buffer_gc(struct net_device *dev);
491static irqreturn_t speedo_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 491static irqreturn_t speedo_interrupt(int irq, void *dev_instance);
492static int speedo_close(struct net_device *dev); 492static int speedo_close(struct net_device *dev);
493static struct net_device_stats *speedo_get_stats(struct net_device *dev); 493static struct net_device_stats *speedo_get_stats(struct net_device *dev);
494static int speedo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 494static int speedo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -606,7 +606,7 @@ static void poll_speedo (struct net_device *dev)
606 /* disable_irq is not very nice, but with the funny lockless design 606 /* disable_irq is not very nice, but with the funny lockless design
607 we have no other choice. */ 607 we have no other choice. */
608 disable_irq(dev->irq); 608 disable_irq(dev->irq);
609 speedo_interrupt (dev->irq, dev, NULL); 609 speedo_interrupt (dev->irq, dev);
610 enable_irq(dev->irq); 610 enable_irq(dev->irq);
611} 611}
612#endif 612#endif
@@ -1541,7 +1541,7 @@ static void speedo_tx_buffer_gc(struct net_device *dev)
1541 1541
1542/* The interrupt handler does all of the Rx thread work and cleans up 1542/* The interrupt handler does all of the Rx thread work and cleans up
1543 after the Tx thread. */ 1543 after the Tx thread. */
1544static irqreturn_t speedo_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 1544static irqreturn_t speedo_interrupt(int irq, void *dev_instance)
1545{ 1545{
1546 struct net_device *dev = (struct net_device *)dev_instance; 1546 struct net_device *dev = (struct net_device *)dev_instance;
1547 struct speedo_private *sp; 1547 struct speedo_private *sp;
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index 9cb05d99ee1b..05ca730fe81e 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -249,7 +249,7 @@ static void eexp_timeout(struct net_device *dev);
249static struct net_device_stats *eexp_stats(struct net_device *dev); 249static struct net_device_stats *eexp_stats(struct net_device *dev);
250static int eexp_xmit(struct sk_buff *buf, struct net_device *dev); 250static int eexp_xmit(struct sk_buff *buf, struct net_device *dev);
251 251
252static irqreturn_t eexp_irq(int irq, void *dev_addr, struct pt_regs *regs); 252static irqreturn_t eexp_irq(int irq, void *dev_addr);
253static void eexp_set_multicast(struct net_device *dev); 253static void eexp_set_multicast(struct net_device *dev);
254 254
255/* 255/*
@@ -789,7 +789,7 @@ static void eexp_cmd_clear(struct net_device *dev)
789 } 789 }
790} 790}
791 791
792static irqreturn_t eexp_irq(int irq, void *dev_info, struct pt_regs *regs) 792static irqreturn_t eexp_irq(int irq, void *dev_info)
793{ 793{
794 struct net_device *dev = dev_info; 794 struct net_device *dev = dev_info;
795 struct net_local *lp; 795 struct net_local *lp;
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 263d1c5b3f23..c6b31775e26b 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -536,16 +536,14 @@ void ehea_send_irq_tasklet(unsigned long data)
536 tasklet_hi_schedule(&pr->send_comp_task); 536 tasklet_hi_schedule(&pr->send_comp_task);
537} 537}
538 538
539static irqreturn_t ehea_send_irq_handler(int irq, void *param, 539static irqreturn_t ehea_send_irq_handler(int irq, void *param)
540 struct pt_regs *regs)
541{ 540{
542 struct ehea_port_res *pr = param; 541 struct ehea_port_res *pr = param;
543 tasklet_hi_schedule(&pr->send_comp_task); 542 tasklet_hi_schedule(&pr->send_comp_task);
544 return IRQ_HANDLED; 543 return IRQ_HANDLED;
545} 544}
546 545
547static irqreturn_t ehea_recv_irq_handler(int irq, void *param, 546static irqreturn_t ehea_recv_irq_handler(int irq, void *param)
548 struct pt_regs *regs)
549{ 547{
550 struct ehea_port_res *pr = param; 548 struct ehea_port_res *pr = param;
551 struct ehea_port *port = pr->port; 549 struct ehea_port *port = pr->port;
@@ -553,8 +551,7 @@ static irqreturn_t ehea_recv_irq_handler(int irq, void *param,
553 return IRQ_HANDLED; 551 return IRQ_HANDLED;
554} 552}
555 553
556static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param, 554static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)
557 struct pt_regs *regs)
558{ 555{
559 struct ehea_port *port = param; 556 struct ehea_port *port = param;
560 struct ehea_eqe *eqe; 557 struct ehea_eqe *eqe;
@@ -850,8 +847,7 @@ static void ehea_neq_tasklet(unsigned long data)
850 adapter->neq->fw_handle, event_mask); 847 adapter->neq->fw_handle, event_mask);
851} 848}
852 849
853static irqreturn_t ehea_interrupt_neq(int irq, void *param, 850static irqreturn_t ehea_interrupt_neq(int irq, void *param)
854 struct pt_regs *regs)
855{ 851{
856 struct ehea_adapter *adapter = param; 852 struct ehea_adapter *adapter = param;
857 tasklet_hi_schedule(&adapter->neq_tasklet); 853 tasklet_hi_schedule(&adapter->neq_tasklet);
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c
index ba2565ee0439..3a6a83d3ee1c 100644
--- a/drivers/net/epic100.c
+++ b/drivers/net/epic100.c
@@ -297,7 +297,7 @@ static void epic_init_ring(struct net_device *dev);
297static int epic_start_xmit(struct sk_buff *skb, struct net_device *dev); 297static int epic_start_xmit(struct sk_buff *skb, struct net_device *dev);
298static int epic_rx(struct net_device *dev, int budget); 298static int epic_rx(struct net_device *dev, int budget);
299static int epic_poll(struct net_device *dev, int *budget); 299static int epic_poll(struct net_device *dev, int *budget);
300static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 300static irqreturn_t epic_interrupt(int irq, void *dev_instance);
301static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 301static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
302static const struct ethtool_ops netdev_ethtool_ops; 302static const struct ethtool_ops netdev_ethtool_ops;
303static int epic_close(struct net_device *dev); 303static int epic_close(struct net_device *dev);
@@ -1081,7 +1081,7 @@ static void epic_tx(struct net_device *dev, struct epic_private *ep)
1081 1081
1082/* The interrupt handler does all of the Rx thread work and cleans up 1082/* The interrupt handler does all of the Rx thread work and cleans up
1083 after the Tx thread. */ 1083 after the Tx thread. */
1084static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 1084static irqreturn_t epic_interrupt(int irq, void *dev_instance)
1085{ 1085{
1086 struct net_device *dev = dev_instance; 1086 struct net_device *dev = dev_instance;
1087 struct epic_private *ep = dev->priv; 1087 struct epic_private *ep = dev->priv;
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c
index f16b6a5aaa34..8cc3c331aca8 100644
--- a/drivers/net/eth16i.c
+++ b/drivers/net/eth16i.c
@@ -410,7 +410,7 @@ static int eth16i_close(struct net_device *dev);
410static int eth16i_tx(struct sk_buff *skb, struct net_device *dev); 410static int eth16i_tx(struct sk_buff *skb, struct net_device *dev);
411static void eth16i_rx(struct net_device *dev); 411static void eth16i_rx(struct net_device *dev);
412static void eth16i_timeout(struct net_device *dev); 412static void eth16i_timeout(struct net_device *dev);
413static irqreturn_t eth16i_interrupt(int irq, void *dev_id, struct pt_regs *regs); 413static irqreturn_t eth16i_interrupt(int irq, void *dev_id);
414static void eth16i_reset(struct net_device *dev); 414static void eth16i_reset(struct net_device *dev);
415static void eth16i_timeout(struct net_device *dev); 415static void eth16i_timeout(struct net_device *dev);
416static void eth16i_skip_packet(struct net_device *dev); 416static void eth16i_skip_packet(struct net_device *dev);
@@ -1226,7 +1226,7 @@ static void eth16i_rx(struct net_device *dev)
1226 } /* while */ 1226 } /* while */
1227} 1227}
1228 1228
1229static irqreturn_t eth16i_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1229static irqreturn_t eth16i_interrupt(int irq, void *dev_id)
1230{ 1230{
1231 struct net_device *dev = dev_id; 1231 struct net_device *dev = dev_id;
1232 struct eth16i_local *lp; 1232 struct eth16i_local *lp;
diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c
index 75a43f7c70cf..c8c41f0a47d6 100644
--- a/drivers/net/ewrk3.c
+++ b/drivers/net/ewrk3.c
@@ -300,7 +300,7 @@ struct ewrk3_private {
300 */ 300 */
301static int ewrk3_open(struct net_device *dev); 301static int ewrk3_open(struct net_device *dev);
302static int ewrk3_queue_pkt(struct sk_buff *skb, struct net_device *dev); 302static int ewrk3_queue_pkt(struct sk_buff *skb, struct net_device *dev);
303static irqreturn_t ewrk3_interrupt(int irq, void *dev_id, struct pt_regs *regs); 303static irqreturn_t ewrk3_interrupt(int irq, void *dev_id);
304static int ewrk3_close(struct net_device *dev); 304static int ewrk3_close(struct net_device *dev);
305static struct net_device_stats *ewrk3_get_stats(struct net_device *dev); 305static struct net_device_stats *ewrk3_get_stats(struct net_device *dev);
306static void set_multicast_list(struct net_device *dev); 306static void set_multicast_list(struct net_device *dev);
@@ -884,7 +884,7 @@ err_out:
884/* 884/*
885 ** The EWRK3 interrupt handler. 885 ** The EWRK3 interrupt handler.
886 */ 886 */
887static irqreturn_t ewrk3_interrupt(int irq, void *dev_id, struct pt_regs *regs) 887static irqreturn_t ewrk3_interrupt(int irq, void *dev_id)
888{ 888{
889 struct net_device *dev = dev_id; 889 struct net_device *dev = dev_id;
890 struct ewrk3_private *lp; 890 struct ewrk3_private *lp;
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c
index 191bd429076a..38a13f440530 100644
--- a/drivers/net/fealnx.c
+++ b/drivers/net/fealnx.c
@@ -434,7 +434,7 @@ static void reset_timer(unsigned long data);
434static void tx_timeout(struct net_device *dev); 434static void tx_timeout(struct net_device *dev);
435static void init_ring(struct net_device *dev); 435static void init_ring(struct net_device *dev);
436static int start_tx(struct sk_buff *skb, struct net_device *dev); 436static int start_tx(struct sk_buff *skb, struct net_device *dev);
437static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *regs); 437static irqreturn_t intr_handler(int irq, void *dev_instance);
438static int netdev_rx(struct net_device *dev); 438static int netdev_rx(struct net_device *dev);
439static void set_rx_mode(struct net_device *dev); 439static void set_rx_mode(struct net_device *dev);
440static void __set_rx_mode(struct net_device *dev); 440static void __set_rx_mode(struct net_device *dev);
@@ -1453,7 +1453,7 @@ static void reset_rx_descriptors(struct net_device *dev)
1453 1453
1454/* The interrupt handler does all of the Rx thread work and cleans up 1454/* The interrupt handler does all of the Rx thread work and cleans up
1455 after the Tx thread. */ 1455 after the Tx thread. */
1456static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *rgs) 1456static irqreturn_t intr_handler(int irq, void *dev_instance)
1457{ 1457{
1458 struct net_device *dev = (struct net_device *) dev_instance; 1458 struct net_device *dev = (struct net_device *) dev_instance;
1459 struct netdev_private *np = netdev_priv(dev); 1459 struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 55d86bc4c104..6764281b4531 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -229,7 +229,7 @@ struct fec_enet_private {
229static int fec_enet_open(struct net_device *dev); 229static int fec_enet_open(struct net_device *dev);
230static int fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev); 230static int fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev);
231static void fec_enet_mii(struct net_device *dev); 231static void fec_enet_mii(struct net_device *dev);
232static irqreturn_t fec_enet_interrupt(int irq, void * dev_id, struct pt_regs * regs); 232static irqreturn_t fec_enet_interrupt(int irq, void * dev_id);
233static void fec_enet_tx(struct net_device *dev); 233static void fec_enet_tx(struct net_device *dev);
234static void fec_enet_rx(struct net_device *dev); 234static void fec_enet_rx(struct net_device *dev);
235static int fec_enet_close(struct net_device *dev); 235static int fec_enet_close(struct net_device *dev);
@@ -450,7 +450,7 @@ fec_timeout(struct net_device *dev)
450 * This is called from the MPC core interrupt. 450 * This is called from the MPC core interrupt.
451 */ 451 */
452static irqreturn_t 452static irqreturn_t
453fec_enet_interrupt(int irq, void * dev_id, struct pt_regs * regs) 453fec_enet_interrupt(int irq, void * dev_id)
454{ 454{
455 struct net_device *dev = dev_id; 455 struct net_device *dev = dev_id;
456 volatile fec_t *fecp; 456 volatile fec_t *fecp;
@@ -1236,7 +1236,7 @@ static void
1236mii_link_interrupt(void *dev_id); 1236mii_link_interrupt(void *dev_id);
1237#else 1237#else
1238static irqreturn_t 1238static irqreturn_t
1239mii_link_interrupt(int irq, void * dev_id, struct pt_regs * regs); 1239mii_link_interrupt(int irq, void * dev_id);
1240#endif 1240#endif
1241#endif 1241#endif
1242 1242
@@ -1251,7 +1251,7 @@ static void __inline__ fec_request_intrs(struct net_device *dev)
1251 static const struct idesc { 1251 static const struct idesc {
1252 char *name; 1252 char *name;
1253 unsigned short irq; 1253 unsigned short irq;
1254 irqreturn_t (*handler)(int, void *, struct pt_regs *); 1254 irq_handler_t handler;
1255 } *idp, id[] = { 1255 } *idp, id[] = {
1256 { "fec(RX)", 86, fec_enet_interrupt }, 1256 { "fec(RX)", 86, fec_enet_interrupt },
1257 { "fec(TX)", 87, fec_enet_interrupt }, 1257 { "fec(TX)", 87, fec_enet_interrupt },
@@ -2117,7 +2117,7 @@ static void
2117mii_link_interrupt(void *dev_id) 2117mii_link_interrupt(void *dev_id)
2118#else 2118#else
2119static irqreturn_t 2119static irqreturn_t
2120mii_link_interrupt(int irq, void * dev_id, struct pt_regs * regs) 2120mii_link_interrupt(int irq, void * dev_id)
2121#endif 2121#endif
2122{ 2122{
2123 struct net_device *dev = dev_id; 2123 struct net_device *dev = dev_id;
diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c
index e17a1449ee10..8e7a56fadfd2 100644
--- a/drivers/net/fec_8xx/fec_main.c
+++ b/drivers/net/fec_8xx/fec_main.c
@@ -708,7 +708,7 @@ static void fec_enet_tx(struct net_device *dev)
708 * This is called from the MPC core interrupt. 708 * This is called from the MPC core interrupt.
709 */ 709 */
710static irqreturn_t 710static irqreturn_t
711fec_enet_interrupt(int irq, void *dev_id, struct pt_regs *regs) 711fec_enet_interrupt(int irq, void *dev_id)
712{ 712{
713 struct net_device *dev = dev_id; 713 struct net_device *dev = dev_id;
714 struct fec_enet_private *fep; 714 struct fec_enet_private *fep;
@@ -768,7 +768,7 @@ fec_enet_interrupt(int irq, void *dev_id, struct pt_regs *regs)
768 768
769/* This interrupt occurs when the PHY detects a link change. */ 769/* This interrupt occurs when the PHY detects a link change. */
770static irqreturn_t 770static irqreturn_t
771fec_mii_link_interrupt(int irq, void *dev_id, struct pt_regs *regs) 771fec_mii_link_interrupt(int irq, void *dev_id)
772{ 772{
773 struct net_device *dev = dev_id; 773 struct net_device *dev = dev_id;
774 struct fec_enet_private *fep; 774 struct fec_enet_private *fep;
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index eea1d66c530e..99b7a411db28 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -2397,7 +2397,7 @@ static void nv_link_irq(struct net_device *dev)
2397 dprintk(KERN_DEBUG "%s: link change notification done.\n", dev->name); 2397 dprintk(KERN_DEBUG "%s: link change notification done.\n", dev->name);
2398} 2398}
2399 2399
2400static irqreturn_t nv_nic_irq(int foo, void *data, struct pt_regs *regs) 2400static irqreturn_t nv_nic_irq(int foo, void *data)
2401{ 2401{
2402 struct net_device *dev = (struct net_device *) data; 2402 struct net_device *dev = (struct net_device *) data;
2403 struct fe_priv *np = netdev_priv(dev); 2403 struct fe_priv *np = netdev_priv(dev);
@@ -2490,7 +2490,7 @@ static irqreturn_t nv_nic_irq(int foo, void *data, struct pt_regs *regs)
2490 return IRQ_RETVAL(i); 2490 return IRQ_RETVAL(i);
2491} 2491}
2492 2492
2493static irqreturn_t nv_nic_irq_tx(int foo, void *data, struct pt_regs *regs) 2493static irqreturn_t nv_nic_irq_tx(int foo, void *data)
2494{ 2494{
2495 struct net_device *dev = (struct net_device *) data; 2495 struct net_device *dev = (struct net_device *) data;
2496 struct fe_priv *np = netdev_priv(dev); 2496 struct fe_priv *np = netdev_priv(dev);
@@ -2576,7 +2576,7 @@ static int nv_napi_poll(struct net_device *dev, int *budget)
2576#endif 2576#endif
2577 2577
2578#ifdef CONFIG_FORCEDETH_NAPI 2578#ifdef CONFIG_FORCEDETH_NAPI
2579static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs) 2579static irqreturn_t nv_nic_irq_rx(int foo, void *data)
2580{ 2580{
2581 struct net_device *dev = (struct net_device *) data; 2581 struct net_device *dev = (struct net_device *) data;
2582 u8 __iomem *base = get_hwbase(dev); 2582 u8 __iomem *base = get_hwbase(dev);
@@ -2594,7 +2594,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs)
2594 return IRQ_HANDLED; 2594 return IRQ_HANDLED;
2595} 2595}
2596#else 2596#else
2597static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs) 2597static irqreturn_t nv_nic_irq_rx(int foo, void *data)
2598{ 2598{
2599 struct net_device *dev = (struct net_device *) data; 2599 struct net_device *dev = (struct net_device *) data;
2600 struct fe_priv *np = netdev_priv(dev); 2600 struct fe_priv *np = netdev_priv(dev);
@@ -2641,7 +2641,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs)
2641} 2641}
2642#endif 2642#endif
2643 2643
2644static irqreturn_t nv_nic_irq_other(int foo, void *data, struct pt_regs *regs) 2644static irqreturn_t nv_nic_irq_other(int foo, void *data)
2645{ 2645{
2646 struct net_device *dev = (struct net_device *) data; 2646 struct net_device *dev = (struct net_device *) data;
2647 struct fe_priv *np = netdev_priv(dev); 2647 struct fe_priv *np = netdev_priv(dev);
@@ -2695,7 +2695,7 @@ static irqreturn_t nv_nic_irq_other(int foo, void *data, struct pt_regs *regs)
2695 return IRQ_RETVAL(i); 2695 return IRQ_RETVAL(i);
2696} 2696}
2697 2697
2698static irqreturn_t nv_nic_irq_test(int foo, void *data, struct pt_regs *regs) 2698static irqreturn_t nv_nic_irq_test(int foo, void *data)
2699{ 2699{
2700 struct net_device *dev = (struct net_device *) data; 2700 struct net_device *dev = (struct net_device *) data;
2701 struct fe_priv *np = netdev_priv(dev); 2701 struct fe_priv *np = netdev_priv(dev);
@@ -2905,22 +2905,22 @@ static void nv_do_nic_poll(unsigned long data)
2905 pci_push(base); 2905 pci_push(base);
2906 2906
2907 if (!using_multi_irqs(dev)) { 2907 if (!using_multi_irqs(dev)) {
2908 nv_nic_irq(0, dev, NULL); 2908 nv_nic_irq(0, dev);
2909 if (np->msi_flags & NV_MSI_X_ENABLED) 2909 if (np->msi_flags & NV_MSI_X_ENABLED)
2910 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector); 2910 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector);
2911 else 2911 else
2912 enable_irq_lockdep(dev->irq); 2912 enable_irq_lockdep(dev->irq);
2913 } else { 2913 } else {
2914 if (np->nic_poll_irq & NVREG_IRQ_RX_ALL) { 2914 if (np->nic_poll_irq & NVREG_IRQ_RX_ALL) {
2915 nv_nic_irq_rx(0, dev, NULL); 2915 nv_nic_irq_rx(0, dev);
2916 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector); 2916 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector);
2917 } 2917 }
2918 if (np->nic_poll_irq & NVREG_IRQ_TX_ALL) { 2918 if (np->nic_poll_irq & NVREG_IRQ_TX_ALL) {
2919 nv_nic_irq_tx(0, dev, NULL); 2919 nv_nic_irq_tx(0, dev);
2920 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector); 2920 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector);
2921 } 2921 }
2922 if (np->nic_poll_irq & NVREG_IRQ_OTHER) { 2922 if (np->nic_poll_irq & NVREG_IRQ_OTHER) {
2923 nv_nic_irq_other(0, dev, NULL); 2923 nv_nic_irq_other(0, dev);
2924 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector); 2924 enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector);
2925 } 2925 }
2926 } 2926 }
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index d01870619a4a..cb3958704a87 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -441,7 +441,7 @@ static void fs_enet_tx(struct net_device *dev)
441 * This is called from the MPC core interrupt. 441 * This is called from the MPC core interrupt.
442 */ 442 */
443static irqreturn_t 443static irqreturn_t
444fs_enet_interrupt(int irq, void *dev_id, struct pt_regs *regs) 444fs_enet_interrupt(int irq, void *dev_id)
445{ 445{
446 struct net_device *dev = dev_id; 446 struct net_device *dev = dev_id;
447 struct fs_enet_private *fep; 447 struct fs_enet_private *fep;
@@ -667,7 +667,7 @@ static int fs_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
667} 667}
668 668
669static int fs_request_irq(struct net_device *dev, int irq, const char *name, 669static int fs_request_irq(struct net_device *dev, int irq, const char *name,
670 irqreturn_t (*irqf)(int irq, void *dev_id, struct pt_regs *regs)) 670 irq_handler_t irqf)
671{ 671{
672 struct fs_enet_private *fep = netdev_priv(dev); 672 struct fs_enet_private *fep = netdev_priv(dev);
673 673
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 280b114e253f..a06d8d1aaceb 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -119,9 +119,9 @@ struct sk_buff *gfar_new_skb(struct net_device *dev, struct rxbd8 *bdp);
119static struct net_device_stats *gfar_get_stats(struct net_device *dev); 119static struct net_device_stats *gfar_get_stats(struct net_device *dev);
120static int gfar_set_mac_address(struct net_device *dev); 120static int gfar_set_mac_address(struct net_device *dev);
121static int gfar_change_mtu(struct net_device *dev, int new_mtu); 121static int gfar_change_mtu(struct net_device *dev, int new_mtu);
122static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs); 122static irqreturn_t gfar_error(int irq, void *dev_id);
123static irqreturn_t gfar_transmit(int irq, void *dev_id, struct pt_regs *regs); 123static irqreturn_t gfar_transmit(int irq, void *dev_id);
124static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs); 124static irqreturn_t gfar_interrupt(int irq, void *dev_id);
125static void adjust_link(struct net_device *dev); 125static void adjust_link(struct net_device *dev);
126static void init_registers(struct net_device *dev); 126static void init_registers(struct net_device *dev);
127static int init_phy(struct net_device *dev); 127static int init_phy(struct net_device *dev);
@@ -1173,7 +1173,7 @@ static void gfar_timeout(struct net_device *dev)
1173} 1173}
1174 1174
1175/* Interrupt Handler for Transmit complete */ 1175/* Interrupt Handler for Transmit complete */
1176static irqreturn_t gfar_transmit(int irq, void *dev_id, struct pt_regs *regs) 1176static irqreturn_t gfar_transmit(int irq, void *dev_id)
1177{ 1177{
1178 struct net_device *dev = (struct net_device *) dev_id; 1178 struct net_device *dev = (struct net_device *) dev_id;
1179 struct gfar_private *priv = netdev_priv(dev); 1179 struct gfar_private *priv = netdev_priv(dev);
@@ -1305,7 +1305,7 @@ static inline void count_errors(unsigned short status, struct gfar_private *priv
1305 } 1305 }
1306} 1306}
1307 1307
1308irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs) 1308irqreturn_t gfar_receive(int irq, void *dev_id)
1309{ 1309{
1310 struct net_device *dev = (struct net_device *) dev_id; 1310 struct net_device *dev = (struct net_device *) dev_id;
1311 struct gfar_private *priv = netdev_priv(dev); 1311 struct gfar_private *priv = netdev_priv(dev);
@@ -1537,7 +1537,7 @@ static int gfar_poll(struct net_device *dev, int *budget)
1537#endif 1537#endif
1538 1538
1539/* The interrupt handler for devices with one interrupt */ 1539/* The interrupt handler for devices with one interrupt */
1540static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1540static irqreturn_t gfar_interrupt(int irq, void *dev_id)
1541{ 1541{
1542 struct net_device *dev = dev_id; 1542 struct net_device *dev = dev_id;
1543 struct gfar_private *priv = netdev_priv(dev); 1543 struct gfar_private *priv = netdev_priv(dev);
@@ -1550,11 +1550,11 @@ static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1550 1550
1551 /* Check for reception */ 1551 /* Check for reception */
1552 if ((events & IEVENT_RXF0) || (events & IEVENT_RXB0)) 1552 if ((events & IEVENT_RXF0) || (events & IEVENT_RXB0))
1553 gfar_receive(irq, dev_id, regs); 1553 gfar_receive(irq, dev_id);
1554 1554
1555 /* Check for transmit completion */ 1555 /* Check for transmit completion */
1556 if ((events & IEVENT_TXF) || (events & IEVENT_TXB)) 1556 if ((events & IEVENT_TXF) || (events & IEVENT_TXB))
1557 gfar_transmit(irq, dev_id, regs); 1557 gfar_transmit(irq, dev_id);
1558 1558
1559 /* Update error statistics */ 1559 /* Update error statistics */
1560 if (events & IEVENT_TXE) { 1560 if (events & IEVENT_TXE) {
@@ -1578,7 +1578,7 @@ static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1578 priv->stats.rx_errors++; 1578 priv->stats.rx_errors++;
1579 priv->extra_stats.rx_bsy++; 1579 priv->extra_stats.rx_bsy++;
1580 1580
1581 gfar_receive(irq, dev_id, regs); 1581 gfar_receive(irq, dev_id);
1582 1582
1583#ifndef CONFIG_GFAR_NAPI 1583#ifndef CONFIG_GFAR_NAPI
1584 /* Clear the halt bit in RSTAT */ 1584 /* Clear the halt bit in RSTAT */
@@ -1857,7 +1857,7 @@ static void gfar_set_mac_for_addr(struct net_device *dev, int num, u8 *addr)
1857} 1857}
1858 1858
1859/* GFAR error interrupt handler */ 1859/* GFAR error interrupt handler */
1860static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs) 1860static irqreturn_t gfar_error(int irq, void *dev_id)
1861{ 1861{
1862 struct net_device *dev = dev_id; 1862 struct net_device *dev = dev_id;
1863 struct gfar_private *priv = netdev_priv(dev); 1863 struct gfar_private *priv = netdev_priv(dev);
@@ -1898,7 +1898,7 @@ static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs)
1898 priv->stats.rx_errors++; 1898 priv->stats.rx_errors++;
1899 priv->extra_stats.rx_bsy++; 1899 priv->extra_stats.rx_bsy++;
1900 1900
1901 gfar_receive(irq, dev_id, regs); 1901 gfar_receive(irq, dev_id);
1902 1902
1903#ifndef CONFIG_GFAR_NAPI 1903#ifndef CONFIG_GFAR_NAPI
1904 /* Clear the halt bit in RSTAT */ 1904 /* Clear the halt bit in RSTAT */
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index c35d47c40c39..9e81a50cf2be 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -754,7 +754,7 @@ static inline void gfar_write(volatile unsigned __iomem *addr, u32 val)
754 out_be32(addr, val); 754 out_be32(addr, val);
755} 755}
756 756
757extern irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs); 757extern irqreturn_t gfar_receive(int irq, void *dev_id);
758extern int startup_gfar(struct net_device *dev); 758extern int startup_gfar(struct net_device *dev);
759extern void stop_gfar(struct net_device *dev); 759extern void stop_gfar(struct net_device *dev);
760extern void gfar_halt(struct net_device *dev); 760extern void gfar_halt(struct net_device *dev);
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c
index 5c89ae78a519..c3c0d67fc383 100644
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@ -556,7 +556,7 @@ static void hamachi_timer(unsigned long data);
556static void hamachi_tx_timeout(struct net_device *dev); 556static void hamachi_tx_timeout(struct net_device *dev);
557static void hamachi_init_ring(struct net_device *dev); 557static void hamachi_init_ring(struct net_device *dev);
558static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev); 558static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev);
559static irqreturn_t hamachi_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 559static irqreturn_t hamachi_interrupt(int irq, void *dev_instance);
560static int hamachi_rx(struct net_device *dev); 560static int hamachi_rx(struct net_device *dev);
561static inline int hamachi_tx(struct net_device *dev); 561static inline int hamachi_tx(struct net_device *dev);
562static void hamachi_error(struct net_device *dev, int intr_status); 562static void hamachi_error(struct net_device *dev, int intr_status);
@@ -1376,7 +1376,7 @@ static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev)
1376 1376
1377/* The interrupt handler does all of the Rx thread work and cleans up 1377/* The interrupt handler does all of the Rx thread work and cleans up
1378 after the Tx thread. */ 1378 after the Tx thread. */
1379static irqreturn_t hamachi_interrupt(int irq, void *dev_instance, struct pt_regs *rgs) 1379static irqreturn_t hamachi_interrupt(int irq, void *dev_instance)
1380{ 1380{
1381 struct net_device *dev = dev_instance; 1381 struct net_device *dev = dev_instance;
1382 struct hamachi_private *hmp = netdev_priv(dev); 1382 struct hamachi_private *hmp = netdev_priv(dev);
diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c
index 9220de9f4fe7..1ed9cccd3c11 100644
--- a/drivers/net/hamradio/baycom_epp.c
+++ b/drivers/net/hamradio/baycom_epp.c
@@ -323,7 +323,7 @@ static int eppconfig(struct baycom_state *bc)
323 323
324/* ---------------------------------------------------------------------- */ 324/* ---------------------------------------------------------------------- */
325 325
326static void epp_interrupt(int irq, void *dev_id, struct pt_regs *regs) 326static void epp_interrupt(int irq, void *dev_id)
327{ 327{
328} 328}
329 329
diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c
index 77411a00d1ee..5930aeb35015 100644
--- a/drivers/net/hamradio/baycom_par.c
+++ b/drivers/net/hamradio/baycom_par.c
@@ -270,7 +270,7 @@ static __inline__ void par96_rx(struct net_device *dev, struct baycom_state *bc)
270 270
271/* --------------------------------------------------------------------- */ 271/* --------------------------------------------------------------------- */
272 272
273static void par96_interrupt(int irq, void *dev_id, struct pt_regs *regs) 273static void par96_interrupt(int irq, void *dev_id)
274{ 274{
275 struct net_device *dev = (struct net_device *)dev_id; 275 struct net_device *dev = (struct net_device *)dev_id;
276 struct baycom_state *bc = netdev_priv(dev); 276 struct baycom_state *bc = netdev_priv(dev);
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index 55906c7b4bb1..59214e74b9cf 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -279,7 +279,7 @@ static __inline__ void ser12_rx(struct net_device *dev, struct baycom_state *bc,
279 279
280/* --------------------------------------------------------------------- */ 280/* --------------------------------------------------------------------- */
281 281
282static irqreturn_t ser12_interrupt(int irq, void *dev_id, struct pt_regs *regs) 282static irqreturn_t ser12_interrupt(int irq, void *dev_id)
283{ 283{
284 struct net_device *dev = (struct net_device *)dev_id; 284 struct net_device *dev = (struct net_device *)dev_id;
285 struct baycom_state *bc = netdev_priv(dev); 285 struct baycom_state *bc = netdev_priv(dev);
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index de95de8983da..3bcc57acbe6d 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -373,7 +373,7 @@ static inline void ser12_rx(struct net_device *dev, struct baycom_state *bc)
373 373
374/* --------------------------------------------------------------------- */ 374/* --------------------------------------------------------------------- */
375 375
376static irqreturn_t ser12_interrupt(int irq, void *dev_id, struct pt_regs *regs) 376static irqreturn_t ser12_interrupt(int irq, void *dev_id)
377{ 377{
378 struct net_device *dev = (struct net_device *)dev_id; 378 struct net_device *dev = (struct net_device *)dev_id;
379 struct baycom_state *bc = netdev_priv(dev); 379 struct baycom_state *bc = netdev_priv(dev);
diff --git a/drivers/net/hamradio/dmascc.c b/drivers/net/hamradio/dmascc.c
index c9a46b89942a..0f8b9afd55b4 100644
--- a/drivers/net/hamradio/dmascc.c
+++ b/drivers/net/hamradio/dmascc.c
@@ -249,7 +249,7 @@ static void start_timer(struct scc_priv *priv, int t, int r15);
249static inline unsigned char random(void); 249static inline unsigned char random(void);
250 250
251static inline void z8530_isr(struct scc_info *info); 251static inline void z8530_isr(struct scc_info *info);
252static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs *regs); 252static irqreturn_t scc_isr(int irq, void *dev_id);
253static void rx_isr(struct scc_priv *priv); 253static void rx_isr(struct scc_priv *priv);
254static void special_condition(struct scc_priv *priv, int rc); 254static void special_condition(struct scc_priv *priv, int rc);
255static void rx_bh(void *arg); 255static void rx_bh(void *arg);
@@ -1142,7 +1142,7 @@ static inline void z8530_isr(struct scc_info *info)
1142} 1142}
1143 1143
1144 1144
1145static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs *regs) 1145static irqreturn_t scc_isr(int irq, void *dev_id)
1146{ 1146{
1147 struct scc_info *info = dev_id; 1147 struct scc_info *info = dev_id;
1148 1148
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index df4b68142ac7..ec9b6d9b6f05 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -200,7 +200,7 @@ static void z8530_init(void);
200 200
201static void init_channel(struct scc_channel *scc); 201static void init_channel(struct scc_channel *scc);
202static void scc_key_trx (struct scc_channel *scc, char tx); 202static void scc_key_trx (struct scc_channel *scc, char tx);
203static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs *regs); 203static irqreturn_t scc_isr(int irq, void *dev_id);
204static void scc_init_timer(struct scc_channel *scc); 204static void scc_init_timer(struct scc_channel *scc);
205 205
206static int scc_net_alloc(const char *name, struct scc_channel *scc); 206static int scc_net_alloc(const char *name, struct scc_channel *scc);
@@ -626,7 +626,7 @@ static void scc_isr_dispatch(struct scc_channel *scc, int vector)
626 626
627#define SCC_IRQTIMEOUT 30000 627#define SCC_IRQTIMEOUT 30000
628 628
629static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs *regs) 629static irqreturn_t scc_isr(int irq, void *dev_id)
630{ 630{
631 unsigned char vector; 631 unsigned char vector;
632 struct scc_channel *scc; 632 struct scc_channel *scc;
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index f98f5777dfbb..3c4455bd466d 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -702,7 +702,7 @@ static void yam_tx_byte(struct net_device *dev, struct yam_port *yp)
702* ISR routine 702* ISR routine
703************************************************************************************/ 703************************************************************************************/
704 704
705static irqreturn_t yam_interrupt(int irq, void *dev_id, struct pt_regs *regs) 705static irqreturn_t yam_interrupt(int irq, void *dev_id)
706{ 706{
707 struct net_device *dev; 707 struct net_device *dev;
708 struct yam_port *yp; 708 struct yam_port *yp;
diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c
index ae8ad4f763bf..844c136e9920 100644
--- a/drivers/net/hp100.c
+++ b/drivers/net/hp100.c
@@ -249,7 +249,7 @@ static void hp100_misc_interrupt(struct net_device *dev);
249static void hp100_update_stats(struct net_device *dev); 249static void hp100_update_stats(struct net_device *dev);
250static void hp100_clear_stats(struct hp100_private *lp, int ioaddr); 250static void hp100_clear_stats(struct hp100_private *lp, int ioaddr);
251static void hp100_set_multicast_list(struct net_device *dev); 251static void hp100_set_multicast_list(struct net_device *dev);
252static irqreturn_t hp100_interrupt(int irq, void *dev_id, struct pt_regs *regs); 252static irqreturn_t hp100_interrupt(int irq, void *dev_id);
253static void hp100_start_interface(struct net_device *dev); 253static void hp100_start_interface(struct net_device *dev);
254static void hp100_stop_interface(struct net_device *dev); 254static void hp100_stop_interface(struct net_device *dev);
255static void hp100_load_eeprom(struct net_device *dev, u_short ioaddr); 255static void hp100_load_eeprom(struct net_device *dev, u_short ioaddr);
@@ -2187,7 +2187,7 @@ static void hp100_set_multicast_list(struct net_device *dev)
2187 * hardware interrupt handling 2187 * hardware interrupt handling
2188 */ 2188 */
2189 2189
2190static irqreturn_t hp100_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2190static irqreturn_t hp100_interrupt(int irq, void *dev_id)
2191{ 2191{
2192 struct net_device *dev = (struct net_device *) dev_id; 2192 struct net_device *dev = (struct net_device *) dev_id;
2193 struct hp100_private *lp = netdev_priv(dev); 2193 struct hp100_private *lp = netdev_priv(dev);
diff --git a/drivers/net/ibm_emac/ibm_emac_core.c b/drivers/net/ibm_emac/ibm_emac_core.c
index d52e3bd01301..ffeafb28f782 100644
--- a/drivers/net/ibm_emac/ibm_emac_core.c
+++ b/drivers/net/ibm_emac/ibm_emac_core.c
@@ -184,7 +184,7 @@ static const char emac_stats_keys[EMAC_ETHTOOL_STATS_COUNT][ETH_GSTRING_LEN] = {
184 "tx_errors" 184 "tx_errors"
185}; 185};
186 186
187static irqreturn_t emac_irq(int irq, void *dev_instance, struct pt_regs *regs); 187static irqreturn_t emac_irq(int irq, void *dev_instance);
188static void emac_clean_tx_ring(struct ocp_enet_private *dev); 188static void emac_clean_tx_ring(struct ocp_enet_private *dev);
189 189
190static inline int emac_phy_supports_gige(int phy_mode) 190static inline int emac_phy_supports_gige(int phy_mode)
@@ -1515,7 +1515,7 @@ static void emac_rxde(void *param)
1515} 1515}
1516 1516
1517/* Hard IRQ */ 1517/* Hard IRQ */
1518static irqreturn_t emac_irq(int irq, void *dev_instance, struct pt_regs *regs) 1518static irqreturn_t emac_irq(int irq, void *dev_instance)
1519{ 1519{
1520 struct ocp_enet_private *dev = dev_instance; 1520 struct ocp_enet_private *dev = dev_instance;
1521 struct emac_regs __iomem *p = dev->emacp; 1521 struct emac_regs __iomem *p = dev->emacp;
diff --git a/drivers/net/ibm_emac/ibm_emac_debug.c b/drivers/net/ibm_emac/ibm_emac_debug.c
index c3645908034d..92f970d402df 100644
--- a/drivers/net/ibm_emac/ibm_emac_debug.c
+++ b/drivers/net/ibm_emac/ibm_emac_debug.c
@@ -179,8 +179,7 @@ void emac_dbg_dump_all(void)
179} 179}
180 180
181#if defined(CONFIG_MAGIC_SYSRQ) 181#if defined(CONFIG_MAGIC_SYSRQ)
182static void emac_sysrq_handler(int key, struct pt_regs *pt_regs, 182static void emac_sysrq_handler(int key, struct tty_struct *tty)
183 struct tty_struct *tty)
184{ 183{
185 emac_dbg_dump_all(); 184 emac_dbg_dump_all();
186} 185}
diff --git a/drivers/net/ibm_emac/ibm_emac_mal.c b/drivers/net/ibm_emac/ibm_emac_mal.c
index af50e7b2e0d7..6c0f071e4052 100644
--- a/drivers/net/ibm_emac/ibm_emac_mal.c
+++ b/drivers/net/ibm_emac/ibm_emac_mal.c
@@ -168,7 +168,7 @@ static inline void mal_disable_eob_irq(struct ibm_ocp_mal *mal)
168 MAL_DBG2("%d: disable_irq" NL, mal->def->index); 168 MAL_DBG2("%d: disable_irq" NL, mal->def->index);
169} 169}
170 170
171static irqreturn_t mal_serr(int irq, void *dev_instance, struct pt_regs *regs) 171static irqreturn_t mal_serr(int irq, void *dev_instance)
172{ 172{
173 struct ibm_ocp_mal *mal = dev_instance; 173 struct ibm_ocp_mal *mal = dev_instance;
174 u32 esr = get_mal_dcrn(mal, MAL_ESR); 174 u32 esr = get_mal_dcrn(mal, MAL_ESR);
@@ -216,7 +216,7 @@ static inline void mal_schedule_poll(struct ibm_ocp_mal *mal)
216 MAL_DBG2("%d: already in poll" NL, mal->def->index); 216 MAL_DBG2("%d: already in poll" NL, mal->def->index);
217} 217}
218 218
219static irqreturn_t mal_txeob(int irq, void *dev_instance, struct pt_regs *regs) 219static irqreturn_t mal_txeob(int irq, void *dev_instance)
220{ 220{
221 struct ibm_ocp_mal *mal = dev_instance; 221 struct ibm_ocp_mal *mal = dev_instance;
222 u32 r = get_mal_dcrn(mal, MAL_TXEOBISR); 222 u32 r = get_mal_dcrn(mal, MAL_TXEOBISR);
@@ -226,7 +226,7 @@ static irqreturn_t mal_txeob(int irq, void *dev_instance, struct pt_regs *regs)
226 return IRQ_HANDLED; 226 return IRQ_HANDLED;
227} 227}
228 228
229static irqreturn_t mal_rxeob(int irq, void *dev_instance, struct pt_regs *regs) 229static irqreturn_t mal_rxeob(int irq, void *dev_instance)
230{ 230{
231 struct ibm_ocp_mal *mal = dev_instance; 231 struct ibm_ocp_mal *mal = dev_instance;
232 u32 r = get_mal_dcrn(mal, MAL_RXEOBISR); 232 u32 r = get_mal_dcrn(mal, MAL_RXEOBISR);
@@ -236,7 +236,7 @@ static irqreturn_t mal_rxeob(int irq, void *dev_instance, struct pt_regs *regs)
236 return IRQ_HANDLED; 236 return IRQ_HANDLED;
237} 237}
238 238
239static irqreturn_t mal_txde(int irq, void *dev_instance, struct pt_regs *regs) 239static irqreturn_t mal_txde(int irq, void *dev_instance)
240{ 240{
241 struct ibm_ocp_mal *mal = dev_instance; 241 struct ibm_ocp_mal *mal = dev_instance;
242 u32 deir = get_mal_dcrn(mal, MAL_TXDEIR); 242 u32 deir = get_mal_dcrn(mal, MAL_TXDEIR);
@@ -252,7 +252,7 @@ static irqreturn_t mal_txde(int irq, void *dev_instance, struct pt_regs *regs)
252 return IRQ_HANDLED; 252 return IRQ_HANDLED;
253} 253}
254 254
255static irqreturn_t mal_rxde(int irq, void *dev_instance, struct pt_regs *regs) 255static irqreturn_t mal_rxde(int irq, void *dev_instance)
256{ 256{
257 struct ibm_ocp_mal *mal = dev_instance; 257 struct ibm_ocp_mal *mal = dev_instance;
258 struct list_head *l; 258 struct list_head *l;
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 2a95d72fa593..3f946c811511 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -705,7 +705,7 @@ static void irqtxerr_handler(struct net_device *dev)
705 705
706/* general interrupt entry */ 706/* general interrupt entry */
707 707
708static irqreturn_t irq_handler(int irq, void *device, struct pt_regs *regs) 708static irqreturn_t irq_handler(int irq, void *device)
709{ 709{
710 struct net_device *dev = (struct net_device *) device; 710 struct net_device *dev = (struct net_device *) device;
711 u16 ival; 711 u16 ival;
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index 767203d35bc2..4bac3cd8f235 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -93,7 +93,7 @@ static void ibmveth_proc_register_driver(void);
93static void ibmveth_proc_unregister_driver(void); 93static void ibmveth_proc_unregister_driver(void);
94static void ibmveth_proc_register_adapter(struct ibmveth_adapter *adapter); 94static void ibmveth_proc_register_adapter(struct ibmveth_adapter *adapter);
95static void ibmveth_proc_unregister_adapter(struct ibmveth_adapter *adapter); 95static void ibmveth_proc_unregister_adapter(struct ibmveth_adapter *adapter);
96static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 96static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance);
97static inline void ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter); 97static inline void ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter);
98static struct kobj_type ktype_veth_pool; 98static struct kobj_type ktype_veth_pool;
99 99
@@ -543,7 +543,7 @@ static int ibmveth_open(struct net_device *netdev)
543 } 543 }
544 544
545 ibmveth_debug_printk("initial replenish cycle\n"); 545 ibmveth_debug_printk("initial replenish cycle\n");
546 ibmveth_interrupt(netdev->irq, netdev, NULL); 546 ibmveth_interrupt(netdev->irq, netdev);
547 547
548 netif_start_queue(netdev); 548 netif_start_queue(netdev);
549 549
@@ -816,7 +816,7 @@ static int ibmveth_poll(struct net_device *netdev, int *budget)
816 return 0; 816 return 0;
817} 817}
818 818
819static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 819static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance)
820{ 820{
821 struct net_device *netdev = dev_instance; 821 struct net_device *netdev = dev_instance;
822 struct ibmveth_adapter *adapter = netdev->priv; 822 struct ibmveth_adapter *adapter = netdev->priv;
@@ -1261,7 +1261,7 @@ const char * buf, size_t count)
1261 } 1261 }
1262 1262
1263 /* kick the interrupt handler to allocate/deallocate pools */ 1263 /* kick the interrupt handler to allocate/deallocate pools */
1264 ibmveth_interrupt(netdev->irq, netdev, NULL); 1264 ibmveth_interrupt(netdev->irq, netdev);
1265 return count; 1265 return count;
1266} 1266}
1267 1267
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index 87650237dc5c..e963dbf816be 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -750,7 +750,7 @@ static void ioc3_error(struct ioc3_private *ip, u32 eisr)
750 750
751/* The interrupt handler does all of the Rx thread work and cleans up 751/* The interrupt handler does all of the Rx thread work and cleans up
752 after the Tx thread. */ 752 after the Tx thread. */
753static irqreturn_t ioc3_interrupt(int irq, void *_dev, struct pt_regs *regs) 753static irqreturn_t ioc3_interrupt(int irq, void *_dev)
754{ 754{
755 struct net_device *dev = (struct net_device *)_dev; 755 struct net_device *dev = (struct net_device *)_dev;
756 struct ioc3_private *ip = netdev_priv(dev); 756 struct ioc3_private *ip = netdev_priv(dev);
diff --git a/drivers/net/irda/ali-ircc.c b/drivers/net/irda/ali-ircc.c
index 68d4c418cb98..971e2dee1e6b 100644
--- a/drivers/net/irda/ali-ircc.c
+++ b/drivers/net/irda/ali-ircc.c
@@ -660,8 +660,7 @@ static int ali_ircc_read_dongle_id (int i, chipio_t *info)
660 * An interrupt from the chip has arrived. Time to do some work 660 * An interrupt from the chip has arrived. Time to do some work
661 * 661 *
662 */ 662 */
663static irqreturn_t ali_ircc_interrupt(int irq, void *dev_id, 663static irqreturn_t ali_ircc_interrupt(int irq, void *dev_id)
664 struct pt_regs *regs)
665{ 664{
666 struct net_device *dev = (struct net_device *) dev_id; 665 struct net_device *dev = (struct net_device *) dev_id;
667 struct ali_ircc_cb *self; 666 struct ali_ircc_cb *self;
diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
index 7b2b4135bb23..37914dc5b90e 100644
--- a/drivers/net/irda/au1k_ir.c
+++ b/drivers/net/irda/au1k_ir.c
@@ -51,7 +51,7 @@ static int au1k_irda_start(struct net_device *);
51static int au1k_irda_stop(struct net_device *dev); 51static int au1k_irda_stop(struct net_device *dev);
52static int au1k_irda_hard_xmit(struct sk_buff *, struct net_device *); 52static int au1k_irda_hard_xmit(struct sk_buff *, struct net_device *);
53static int au1k_irda_rx(struct net_device *); 53static int au1k_irda_rx(struct net_device *);
54static void au1k_irda_interrupt(int, void *, struct pt_regs *); 54static void au1k_irda_interrupt(int, void *);
55static void au1k_tx_timeout(struct net_device *); 55static void au1k_tx_timeout(struct net_device *);
56static struct net_device_stats *au1k_irda_stats(struct net_device *); 56static struct net_device_stats *au1k_irda_stats(struct net_device *);
57static int au1k_irda_ioctl(struct net_device *, struct ifreq *, int); 57static int au1k_irda_ioctl(struct net_device *, struct ifreq *, int);
@@ -627,7 +627,7 @@ static int au1k_irda_rx(struct net_device *dev)
627} 627}
628 628
629 629
630void au1k_irda_interrupt(int irq, void *dev_id, struct pt_regs *regs) 630void au1k_irda_interrupt(int irq, void *dev_id)
631{ 631{
632 struct net_device *dev = (struct net_device *) dev_id; 632 struct net_device *dev = (struct net_device *) dev_id;
633 633
diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
index 33c07d5275da..7a9128181e68 100644
--- a/drivers/net/irda/donauboe.c
+++ b/drivers/net/irda/donauboe.c
@@ -709,7 +709,7 @@ stuff_byte (__u8 byte, __u8 * buf)
709} 709}
710 710
711static irqreturn_t 711static irqreturn_t
712toshoboe_probeinterrupt (int irq, void *dev_id, struct pt_regs *regs) 712toshoboe_probeinterrupt (int irq, void *dev_id)
713{ 713{
714 struct toshoboe_cb *self = (struct toshoboe_cb *) dev_id; 714 struct toshoboe_cb *self = (struct toshoboe_cb *) dev_id;
715 __u8 irqstat; 715 __u8 irqstat;
@@ -1161,7 +1161,7 @@ dumpbufs(skb->data,skb->len,'>');
1161 1161
1162/*interrupt handler */ 1162/*interrupt handler */
1163static irqreturn_t 1163static irqreturn_t
1164toshoboe_interrupt (int irq, void *dev_id, struct pt_regs *regs) 1164toshoboe_interrupt (int irq, void *dev_id)
1165{ 1165{
1166 struct toshoboe_cb *self = (struct toshoboe_cb *) dev_id; 1166 struct toshoboe_cb *self = (struct toshoboe_cb *) dev_id;
1167 __u8 irqstat; 1167 __u8 irqstat;
diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c
index 383cef1f5999..14bda765c2fa 100644
--- a/drivers/net/irda/irda-usb.c
+++ b/drivers/net/irda/irda-usb.c
@@ -114,9 +114,9 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self);
114static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *dev); 114static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *dev);
115static int irda_usb_open(struct irda_usb_cb *self); 115static int irda_usb_open(struct irda_usb_cb *self);
116static void irda_usb_close(struct irda_usb_cb *self); 116static void irda_usb_close(struct irda_usb_cb *self);
117static void speed_bulk_callback(struct urb *urb, struct pt_regs *regs); 117static void speed_bulk_callback(struct urb *urb);
118static void write_bulk_callback(struct urb *urb, struct pt_regs *regs); 118static void write_bulk_callback(struct urb *urb);
119static void irda_usb_receive(struct urb *urb, struct pt_regs *regs); 119static void irda_usb_receive(struct urb *urb);
120static void irda_usb_rx_defer_expired(unsigned long data); 120static void irda_usb_rx_defer_expired(unsigned long data);
121static int irda_usb_net_open(struct net_device *dev); 121static int irda_usb_net_open(struct net_device *dev);
122static int irda_usb_net_close(struct net_device *dev); 122static int irda_usb_net_close(struct net_device *dev);
@@ -343,7 +343,7 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self)
343 * Speed URB callback 343 * Speed URB callback
344 * Now, we can only get called for the speed URB. 344 * Now, we can only get called for the speed URB.
345 */ 345 */
346static void speed_bulk_callback(struct urb *urb, struct pt_regs *regs) 346static void speed_bulk_callback(struct urb *urb)
347{ 347{
348 struct irda_usb_cb *self = urb->context; 348 struct irda_usb_cb *self = urb->context;
349 349
@@ -562,7 +562,7 @@ drop:
562/* 562/*
563 * Note : this function will be called only for tx_urb... 563 * Note : this function will be called only for tx_urb...
564 */ 564 */
565static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) 565static void write_bulk_callback(struct urb *urb)
566{ 566{
567 unsigned long flags; 567 unsigned long flags;
568 struct sk_buff *skb = urb->context; 568 struct sk_buff *skb = urb->context;
@@ -809,7 +809,7 @@ static void irda_usb_submit(struct irda_usb_cb *self, struct sk_buff *skb, struc
809 * Called by the USB subsystem when a frame has been received 809 * Called by the USB subsystem when a frame has been received
810 * 810 *
811 */ 811 */
812static void irda_usb_receive(struct urb *urb, struct pt_regs *regs) 812static void irda_usb_receive(struct urb *urb)
813{ 813{
814 struct sk_buff *skb = (struct sk_buff *) urb->context; 814 struct sk_buff *skb = (struct sk_buff *) urb->context;
815 struct irda_usb_cb *self; 815 struct irda_usb_cb *self;
diff --git a/drivers/net/irda/irport.c b/drivers/net/irda/irport.c
index ba4f3eb988b3..6ea78ececca7 100644
--- a/drivers/net/irda/irport.c
+++ b/drivers/net/irda/irport.c
@@ -87,8 +87,7 @@ static struct net_device_stats *irport_net_get_stats(struct net_device *dev);
87static int irport_change_speed_complete(struct irda_task *task); 87static int irport_change_speed_complete(struct irda_task *task);
88static void irport_timeout(struct net_device *dev); 88static void irport_timeout(struct net_device *dev);
89 89
90static irqreturn_t irport_interrupt(int irq, void *dev_id, 90static irqreturn_t irport_interrupt(int irq, void *dev_id);
91 struct pt_regs *regs);
92static int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev); 91static int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev);
93static void irport_change_speed(void *priv, __u32 speed); 92static void irport_change_speed(void *priv, __u32 speed);
94static int irport_net_open(struct net_device *dev); 93static int irport_net_open(struct net_device *dev);
@@ -761,12 +760,11 @@ static inline void irport_receive(struct irport_cb *self)
761} 760}
762 761
763/* 762/*
764 * Function irport_interrupt (irq, dev_id, regs) 763 * Function irport_interrupt (irq, dev_id)
765 * 764 *
766 * Interrupt handler 765 * Interrupt handler
767 */ 766 */
768static irqreturn_t irport_interrupt(int irq, void *dev_id, 767static irqreturn_t irport_interrupt(int irq, void *dev_id)
769 struct pt_regs *regs)
770{ 768{
771 struct net_device *dev = (struct net_device *) dev_id; 769 struct net_device *dev = (struct net_device *) dev_id;
772 struct irport_cb *self; 770 struct irport_cb *self;
diff --git a/drivers/net/irda/irport.h b/drivers/net/irda/irport.h
index fc89c8c3dd7f..4393168347e3 100644
--- a/drivers/net/irda/irport.h
+++ b/drivers/net/irda/irport.h
@@ -74,7 +74,7 @@ struct irport_cb {
74 /* For piggyback drivers */ 74 /* For piggyback drivers */
75 void *priv; 75 void *priv;
76 void (*change_speed)(void *priv, __u32 speed); 76 void (*change_speed)(void *priv, __u32 speed);
77 int (*interrupt)(int irq, void *dev_id, struct pt_regs *regs); 77 int (*interrupt)(int irq, void *dev_id);
78}; 78};
79 79
80#endif /* IRPORT_H */ 80#endif /* IRPORT_H */
diff --git a/drivers/net/irda/mcs7780.c b/drivers/net/irda/mcs7780.c
index 415ba8dc94ce..b32c52ed19d7 100644
--- a/drivers/net/irda/mcs7780.c
+++ b/drivers/net/irda/mcs7780.c
@@ -764,7 +764,7 @@ static struct net_device_stats *mcs_net_get_stats(struct net_device *netdev)
764} 764}
765 765
766/* Receive callback function. */ 766/* Receive callback function. */
767static void mcs_receive_irq(struct urb *urb, struct pt_regs *regs) 767static void mcs_receive_irq(struct urb *urb)
768{ 768{
769 __u8 *bytes; 769 __u8 *bytes;
770 struct mcs_cb *mcs = urb->context; 770 struct mcs_cb *mcs = urb->context;
@@ -813,7 +813,7 @@ static void mcs_receive_irq(struct urb *urb, struct pt_regs *regs)
813} 813}
814 814
815/* Transmit callback funtion. */ 815/* Transmit callback funtion. */
816static void mcs_send_irq(struct urb *urb, struct pt_regs *regs) 816static void mcs_send_irq(struct urb *urb)
817{ 817{
818 struct mcs_cb *mcs = urb->context; 818 struct mcs_cb *mcs = urb->context;
819 struct net_device *ndev = mcs->netdev; 819 struct net_device *ndev = mcs->netdev;
diff --git a/drivers/net/irda/mcs7780.h b/drivers/net/irda/mcs7780.h
index 1a723d725c2a..b18148cee638 100644
--- a/drivers/net/irda/mcs7780.h
+++ b/drivers/net/irda/mcs7780.h
@@ -156,8 +156,8 @@ static int mcs_net_close(struct net_device *netdev);
156static int mcs_net_open(struct net_device *netdev); 156static int mcs_net_open(struct net_device *netdev);
157static struct net_device_stats *mcs_net_get_stats(struct net_device *netdev); 157static struct net_device_stats *mcs_net_get_stats(struct net_device *netdev);
158 158
159static void mcs_receive_irq(struct urb *urb, struct pt_regs *regs); 159static void mcs_receive_irq(struct urb *urb);
160static void mcs_send_irq(struct urb *urb, struct pt_regs *regs); 160static void mcs_send_irq(struct urb *urb);
161static int mcs_hard_xmit(struct sk_buff *skb, struct net_device *netdev); 161static int mcs_hard_xmit(struct sk_buff *skb, struct net_device *netdev);
162 162
163static int mcs_probe(struct usb_interface *intf, 163static int mcs_probe(struct usb_interface *intf,
diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/net/irda/nsc-ircc.c
index 7185a4ee3c1e..ea12e999814a 100644
--- a/drivers/net/irda/nsc-ircc.c
+++ b/drivers/net/irda/nsc-ircc.c
@@ -2066,8 +2066,7 @@ static void nsc_ircc_fir_interrupt(struct nsc_ircc_cb *self, int iobase,
2066 * An interrupt from the chip has arrived. Time to do some work 2066 * An interrupt from the chip has arrived. Time to do some work
2067 * 2067 *
2068 */ 2068 */
2069static irqreturn_t nsc_ircc_interrupt(int irq, void *dev_id, 2069static irqreturn_t nsc_ircc_interrupt(int irq, void *dev_id)
2070 struct pt_regs *regs)
2071{ 2070{
2072 struct net_device *dev = (struct net_device *) dev_id; 2071 struct net_device *dev = (struct net_device *) dev_id;
2073 struct nsc_ircc_cb *self; 2072 struct nsc_ircc_cb *self;
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index afb19e8d95c8..f9a1c88a4283 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -199,7 +199,7 @@ static int pxa_irda_set_speed(struct pxa_irda *si, int speed)
199} 199}
200 200
201/* SIR interrupt service routine. */ 201/* SIR interrupt service routine. */
202static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id, struct pt_regs *regs) 202static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id)
203{ 203{
204 struct net_device *dev = dev_id; 204 struct net_device *dev = dev_id;
205 struct pxa_irda *si = netdev_priv(dev); 205 struct pxa_irda *si = netdev_priv(dev);
@@ -281,7 +281,7 @@ static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id, struct pt_regs *regs)
281} 281}
282 282
283/* FIR Receive DMA interrupt handler */ 283/* FIR Receive DMA interrupt handler */
284static void pxa_irda_fir_dma_rx_irq(int channel, void *data, struct pt_regs *regs) 284static void pxa_irda_fir_dma_rx_irq(int channel, void *data)
285{ 285{
286 int dcsr = DCSR(channel); 286 int dcsr = DCSR(channel);
287 287
@@ -291,7 +291,7 @@ static void pxa_irda_fir_dma_rx_irq(int channel, void *data, struct pt_regs *reg
291} 291}
292 292
293/* FIR Transmit DMA interrupt handler */ 293/* FIR Transmit DMA interrupt handler */
294static void pxa_irda_fir_dma_tx_irq(int channel, void *data, struct pt_regs *regs) 294static void pxa_irda_fir_dma_tx_irq(int channel, void *data)
295{ 295{
296 struct net_device *dev = data; 296 struct net_device *dev = data;
297 struct pxa_irda *si = netdev_priv(dev); 297 struct pxa_irda *si = netdev_priv(dev);
@@ -388,7 +388,7 @@ static void pxa_irda_fir_irq_eif(struct pxa_irda *si, struct net_device *dev)
388} 388}
389 389
390/* FIR interrupt handler */ 390/* FIR interrupt handler */
391static irqreturn_t pxa_irda_fir_irq(int irq, void *dev_id, struct pt_regs *regs) 391static irqreturn_t pxa_irda_fir_irq(int irq, void *dev_id)
392{ 392{
393 struct net_device *dev = dev_id; 393 struct net_device *dev = dev_id;
394 struct pxa_irda *si = netdev_priv(dev); 394 struct pxa_irda *si = netdev_priv(dev);
diff --git a/drivers/net/irda/sa1100_ir.c b/drivers/net/irda/sa1100_ir.c
index 8d5a288d7976..937372d00398 100644
--- a/drivers/net/irda/sa1100_ir.c
+++ b/drivers/net/irda/sa1100_ir.c
@@ -579,7 +579,7 @@ static void sa1100_irda_fir_irq(struct net_device *dev)
579 sa1100_irda_rx_dma_start(si); 579 sa1100_irda_rx_dma_start(si);
580} 580}
581 581
582static irqreturn_t sa1100_irda_irq(int irq, void *dev_id, struct pt_regs *regs) 582static irqreturn_t sa1100_irda_irq(int irq, void *dev_id)
583{ 583{
584 struct net_device *dev = dev_id; 584 struct net_device *dev = dev_id;
585 if (IS_FIR(((struct sa1100_irda *)dev->priv))) 585 if (IS_FIR(((struct sa1100_irda *)dev->priv)))
diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c
index 22358ff68c4c..31c623381ea8 100644
--- a/drivers/net/irda/smsc-ircc2.c
+++ b/drivers/net/irda/smsc-ircc2.c
@@ -196,7 +196,7 @@ static void smsc_ircc_dma_xmit(struct smsc_ircc_cb *self, int bofs);
196static void smsc_ircc_dma_xmit_complete(struct smsc_ircc_cb *self); 196static void smsc_ircc_dma_xmit_complete(struct smsc_ircc_cb *self);
197static void smsc_ircc_change_speed(struct smsc_ircc_cb *self, u32 speed); 197static void smsc_ircc_change_speed(struct smsc_ircc_cb *self, u32 speed);
198static void smsc_ircc_set_sir_speed(struct smsc_ircc_cb *self, u32 speed); 198static void smsc_ircc_set_sir_speed(struct smsc_ircc_cb *self, u32 speed);
199static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs); 199static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id);
200static irqreturn_t smsc_ircc_interrupt_sir(struct net_device *dev); 200static irqreturn_t smsc_ircc_interrupt_sir(struct net_device *dev);
201static void smsc_ircc_sir_start(struct smsc_ircc_cb *self); 201static void smsc_ircc_sir_start(struct smsc_ircc_cb *self);
202#if SMSC_IRCC2_C_SIR_STOP 202#if SMSC_IRCC2_C_SIR_STOP
@@ -1455,7 +1455,7 @@ static void smsc_ircc_sir_receive(struct smsc_ircc_cb *self)
1455 * An interrupt from the chip has arrived. Time to do some work 1455 * An interrupt from the chip has arrived. Time to do some work
1456 * 1456 *
1457 */ 1457 */
1458static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1458static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id)
1459{ 1459{
1460 struct net_device *dev = (struct net_device *) dev_id; 1460 struct net_device *dev = (struct net_device *) dev_id;
1461 struct smsc_ircc_cb *self; 1461 struct smsc_ircc_cb *self;
@@ -1520,7 +1520,7 @@ static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id, struct pt_regs *re
1520} 1520}
1521 1521
1522/* 1522/*
1523 * Function irport_interrupt_sir (irq, dev_id, regs) 1523 * Function irport_interrupt_sir (irq, dev_id)
1524 * 1524 *
1525 * Interrupt handler for SIR modes 1525 * Interrupt handler for SIR modes
1526 */ 1526 */
diff --git a/drivers/net/irda/stir4200.c b/drivers/net/irda/stir4200.c
index 12103c93f7ef..be8a66e702b0 100644
--- a/drivers/net/irda/stir4200.c
+++ b/drivers/net/irda/stir4200.c
@@ -804,7 +804,7 @@ static int stir_transmit_thread(void *arg)
804 * Wakes up every ms (usb round trip) with wrapped 804 * Wakes up every ms (usb round trip) with wrapped
805 * data. 805 * data.
806 */ 806 */
807static void stir_rcv_irq(struct urb *urb, struct pt_regs *regs) 807static void stir_rcv_irq(struct urb *urb)
808{ 808{
809 struct stir_cb *stir = urb->context; 809 struct stir_cb *stir = urb->context;
810 int err; 810 int err;
diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c
index d916e1257c47..c3ed9b3067e5 100644
--- a/drivers/net/irda/via-ircc.c
+++ b/drivers/net/irda/via-ircc.c
@@ -93,8 +93,7 @@ static int via_ircc_hard_xmit_fir(struct sk_buff *skb,
93 struct net_device *dev); 93 struct net_device *dev);
94static void via_hw_init(struct via_ircc_cb *self); 94static void via_hw_init(struct via_ircc_cb *self);
95static void via_ircc_change_speed(struct via_ircc_cb *self, __u32 baud); 95static void via_ircc_change_speed(struct via_ircc_cb *self, __u32 baud);
96static irqreturn_t via_ircc_interrupt(int irq, void *dev_id, 96static irqreturn_t via_ircc_interrupt(int irq, void *dev_id);
97 struct pt_regs *regs);
98static int via_ircc_is_receiving(struct via_ircc_cb *self); 97static int via_ircc_is_receiving(struct via_ircc_cb *self);
99static int via_ircc_read_dongle_id(int iobase); 98static int via_ircc_read_dongle_id(int iobase);
100 99
@@ -1345,13 +1344,12 @@ static int RxTimerHandler(struct via_ircc_cb *self, int iobase)
1345 1344
1346 1345
1347/* 1346/*
1348 * Function via_ircc_interrupt (irq, dev_id, regs) 1347 * Function via_ircc_interrupt (irq, dev_id)
1349 * 1348 *
1350 * An interrupt from the chip has arrived. Time to do some work 1349 * An interrupt from the chip has arrived. Time to do some work
1351 * 1350 *
1352 */ 1351 */
1353static irqreturn_t via_ircc_interrupt(int irq, void *dev_id, 1352static irqreturn_t via_ircc_interrupt(int irq, void *dev_id)
1354 struct pt_regs *regs)
1355{ 1353{
1356 struct net_device *dev = (struct net_device *) dev_id; 1354 struct net_device *dev = (struct net_device *) dev_id;
1357 struct via_ircc_cb *self; 1355 struct via_ircc_cb *self;
diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c
index 92d646cc9edc..18c68193bf14 100644
--- a/drivers/net/irda/vlsi_ir.c
+++ b/drivers/net/irda/vlsi_ir.c
@@ -1455,8 +1455,7 @@ static int vlsi_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
1455 1455
1456/********************************************************/ 1456/********************************************************/
1457 1457
1458static irqreturn_t vlsi_interrupt(int irq, void *dev_instance, 1458static irqreturn_t vlsi_interrupt(int irq, void *dev_instance)
1459 struct pt_regs *regs)
1460{ 1459{
1461 struct net_device *ndev = dev_instance; 1460 struct net_device *ndev = dev_instance;
1462 vlsi_irda_dev_t *idev = ndev->priv; 1461 vlsi_irda_dev_t *idev = ndev->priv;
diff --git a/drivers/net/irda/w83977af_ir.c b/drivers/net/irda/w83977af_ir.c
index 7de1afdeec3d..b4fb92a7baa8 100644
--- a/drivers/net/irda/w83977af_ir.c
+++ b/drivers/net/irda/w83977af_ir.c
@@ -1111,8 +1111,7 @@ static __u8 w83977af_fir_interrupt(struct w83977af_ir *self, int isr)
1111 * An interrupt from the chip has arrived. Time to do some work 1111 * An interrupt from the chip has arrived. Time to do some work
1112 * 1112 *
1113 */ 1113 */
1114static irqreturn_t w83977af_interrupt(int irq, void *dev_id, 1114static irqreturn_t w83977af_interrupt(int irq, void *dev_id)
1115 struct pt_regs *regs)
1116{ 1115{
1117 struct net_device *dev = (struct net_device *) dev_id; 1116 struct net_device *dev = (struct net_device *) dev_id;
1118 struct w83977af_ir *self; 1117 struct w83977af_ir *self;
diff --git a/drivers/net/isa-skeleton.c b/drivers/net/isa-skeleton.c
index 984c31d1b3fb..0343f12d2ffb 100644
--- a/drivers/net/isa-skeleton.c
+++ b/drivers/net/isa-skeleton.c
@@ -107,7 +107,7 @@ struct net_local {
107static int netcard_probe1(struct net_device *dev, int ioaddr); 107static int netcard_probe1(struct net_device *dev, int ioaddr);
108static int net_open(struct net_device *dev); 108static int net_open(struct net_device *dev);
109static int net_send_packet(struct sk_buff *skb, struct net_device *dev); 109static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
110static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs *regs); 110static irqreturn_t net_interrupt(int irq, void *dev_id);
111static void net_rx(struct net_device *dev); 111static void net_rx(struct net_device *dev);
112static int net_close(struct net_device *dev); 112static int net_close(struct net_device *dev);
113static struct net_device_stats *net_get_stats(struct net_device *dev); 113static struct net_device_stats *net_get_stats(struct net_device *dev);
@@ -504,7 +504,7 @@ void net_tx(struct net_device *dev)
504 * The typical workload of the driver: 504 * The typical workload of the driver:
505 * Handle the network interface interrupts. 505 * Handle the network interface interrupts.
506 */ 506 */
507static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs * regs) 507static irqreturn_t net_interrupt(int irq, void *dev_id)
508{ 508{
509 struct net_device *dev = dev_id; 509 struct net_device *dev = dev_id;
510 struct net_local *np; 510 struct net_local *np;
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index 41b1d08fd57b..2284e2ce1692 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -586,7 +586,7 @@ static void veth_handle_int(struct veth_lpevent *event)
586 }; 586 };
587} 587}
588 588
589static void veth_handle_event(struct HvLpEvent *event, struct pt_regs *regs) 589static void veth_handle_event(struct HvLpEvent *event)
590{ 590{
591 struct veth_lpevent *veth_event = (struct veth_lpevent *)event; 591 struct veth_lpevent *veth_event = (struct veth_lpevent *)event;
592 592
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index cfde7c2569bb..e09f575a3a38 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -93,7 +93,7 @@ static int ixgb_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
93static struct net_device_stats *ixgb_get_stats(struct net_device *netdev); 93static struct net_device_stats *ixgb_get_stats(struct net_device *netdev);
94static int ixgb_change_mtu(struct net_device *netdev, int new_mtu); 94static int ixgb_change_mtu(struct net_device *netdev, int new_mtu);
95static int ixgb_set_mac(struct net_device *netdev, void *p); 95static int ixgb_set_mac(struct net_device *netdev, void *p);
96static irqreturn_t ixgb_intr(int irq, void *data, struct pt_regs *regs); 96static irqreturn_t ixgb_intr(int irq, void *data);
97static boolean_t ixgb_clean_tx_irq(struct ixgb_adapter *adapter); 97static boolean_t ixgb_clean_tx_irq(struct ixgb_adapter *adapter);
98 98
99#ifdef CONFIG_IXGB_NAPI 99#ifdef CONFIG_IXGB_NAPI
@@ -1687,11 +1687,10 @@ ixgb_update_stats(struct ixgb_adapter *adapter)
1687 * ixgb_intr - Interrupt Handler 1687 * ixgb_intr - Interrupt Handler
1688 * @irq: interrupt number 1688 * @irq: interrupt number
1689 * @data: pointer to a network interface device structure 1689 * @data: pointer to a network interface device structure
1690 * @pt_regs: CPU registers structure
1691 **/ 1690 **/
1692 1691
1693static irqreturn_t 1692static irqreturn_t
1694ixgb_intr(int irq, void *data, struct pt_regs *regs) 1693ixgb_intr(int irq, void *data)
1695{ 1694{
1696 struct net_device *netdev = data; 1695 struct net_device *netdev = data;
1697 struct ixgb_adapter *adapter = netdev_priv(netdev); 1696 struct ixgb_adapter *adapter = netdev_priv(netdev);
@@ -2213,7 +2212,7 @@ static void ixgb_netpoll(struct net_device *dev)
2213 struct ixgb_adapter *adapter = netdev_priv(dev); 2212 struct ixgb_adapter *adapter = netdev_priv(dev);
2214 2213
2215 disable_irq(adapter->pdev->irq); 2214 disable_irq(adapter->pdev->irq);
2216 ixgb_intr(adapter->pdev->irq, dev, NULL); 2215 ixgb_intr(adapter->pdev->irq, dev);
2217 enable_irq(adapter->pdev->irq); 2216 enable_irq(adapter->pdev->irq);
2218} 2217}
2219#endif 2218#endif
diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c
index 6eeb965b4d72..a4eccb11d677 100644
--- a/drivers/net/ixp2000/ixpdev.c
+++ b/drivers/net/ixp2000/ixpdev.c
@@ -188,7 +188,7 @@ static void ixpdev_tx_complete(void)
188 } 188 }
189} 189}
190 190
191static irqreturn_t ixpdev_interrupt(int irq, void *dev_id, struct pt_regs *regs) 191static irqreturn_t ixpdev_interrupt(int irq, void *dev_id)
192{ 192{
193 u32 status; 193 u32 status;
194 194
diff --git a/drivers/net/lance.c b/drivers/net/lance.c
index f349e88e0ddf..7afac47e59ad 100644
--- a/drivers/net/lance.c
+++ b/drivers/net/lance.c
@@ -301,7 +301,7 @@ static int lance_open(struct net_device *dev);
301static void lance_init_ring(struct net_device *dev, gfp_t mode); 301static void lance_init_ring(struct net_device *dev, gfp_t mode);
302static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev); 302static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev);
303static int lance_rx(struct net_device *dev); 303static int lance_rx(struct net_device *dev);
304static irqreturn_t lance_interrupt(int irq, void *dev_id, struct pt_regs *regs); 304static irqreturn_t lance_interrupt(int irq, void *dev_id);
305static int lance_close(struct net_device *dev); 305static int lance_close(struct net_device *dev);
306static struct net_device_stats *lance_get_stats(struct net_device *dev); 306static struct net_device_stats *lance_get_stats(struct net_device *dev);
307static void set_multicast_list(struct net_device *dev); 307static void set_multicast_list(struct net_device *dev);
@@ -1012,8 +1012,7 @@ out:
1012} 1012}
1013 1013
1014/* The LANCE interrupt handler. */ 1014/* The LANCE interrupt handler. */
1015static irqreturn_t 1015static irqreturn_t lance_interrupt(int irq, void *dev_id)
1016lance_interrupt(int irq, void *dev_id, struct pt_regs * regs)
1017{ 1016{
1018 struct net_device *dev = dev_id; 1017 struct net_device *dev = dev_id;
1019 struct lance_private *lp; 1018 struct lance_private *lp;
diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c
index da1eedef0b55..8cbd940f0ac2 100644
--- a/drivers/net/lasi_82596.c
+++ b/drivers/net/lasi_82596.c
@@ -403,7 +403,7 @@ static char init_setup[] =
403 403
404static int i596_open(struct net_device *dev); 404static int i596_open(struct net_device *dev);
405static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev); 405static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev);
406static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs); 406static irqreturn_t i596_interrupt(int irq, void *dev_id);
407static int i596_close(struct net_device *dev); 407static int i596_close(struct net_device *dev);
408static struct net_device_stats *i596_get_stats(struct net_device *dev); 408static struct net_device_stats *i596_get_stats(struct net_device *dev);
409static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); 409static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd);
@@ -527,7 +527,7 @@ static void i596_display_data(struct net_device *dev)
527 527
528 528
529#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET) 529#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET)
530static void i596_error(int irq, void *dev_id, struct pt_regs *regs) 530static void i596_error(int irq, void *dev_id)
531{ 531{
532 struct net_device *dev = dev_id; 532 struct net_device *dev = dev_id;
533 volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000; 533 volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000;
@@ -1257,7 +1257,7 @@ static void i596_poll_controller(struct net_device *dev)
1257} 1257}
1258#endif 1258#endif
1259 1259
1260static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1260static irqreturn_t i596_interrupt(int irq, void *dev_id)
1261{ 1261{
1262 struct net_device *dev = dev_id; 1262 struct net_device *dev = dev_id;
1263 struct i596_private *lp; 1263 struct i596_private *lp;
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index 0258aaca9ed3..b833016f1825 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -379,7 +379,7 @@ static char init_setup[14] = {
379 379
380static int i596_open(struct net_device *dev); 380static int i596_open(struct net_device *dev);
381static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev); 381static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev);
382static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs); 382static irqreturn_t i596_interrupt(int irq, void *dev_id);
383static int i596_close(struct net_device *dev); 383static int i596_close(struct net_device *dev);
384static struct net_device_stats *i596_get_stats(struct net_device *dev); 384static struct net_device_stats *i596_get_stats(struct net_device *dev);
385static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); 385static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd);
@@ -1151,7 +1151,7 @@ i596_handle_CU_completion(struct net_device *dev,
1151} 1151}
1152 1152
1153static irqreturn_t 1153static irqreturn_t
1154i596_interrupt (int irq, void *dev_instance, struct pt_regs *regs) { 1154i596_interrupt (int irq, void *dev_instance) {
1155 struct net_device *dev = (struct net_device *) dev_instance; 1155 struct net_device *dev = (struct net_device *) dev_instance;
1156 struct i596_private *lp; 1156 struct i596_private *lp;
1157 unsigned short status, ack_cmd = 0; 1157 unsigned short status, ack_cmd = 0;
diff --git a/drivers/net/mac89x0.c b/drivers/net/mac89x0.c
index 8472b71641da..e960138011c0 100644
--- a/drivers/net/mac89x0.c
+++ b/drivers/net/mac89x0.c
@@ -129,7 +129,7 @@ extern void reset_chip(struct net_device *dev);
129#endif 129#endif
130static int net_open(struct net_device *dev); 130static int net_open(struct net_device *dev);
131static int net_send_packet(struct sk_buff *skb, struct net_device *dev); 131static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
132static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs *regs); 132static irqreturn_t net_interrupt(int irq, void *dev_id);
133static void set_multicast_list(struct net_device *dev); 133static void set_multicast_list(struct net_device *dev);
134static void net_rx(struct net_device *dev); 134static void net_rx(struct net_device *dev);
135static int net_close(struct net_device *dev); 135static int net_close(struct net_device *dev);
@@ -431,7 +431,7 @@ net_send_packet(struct sk_buff *skb, struct net_device *dev)
431 431
432/* The typical workload of the driver: 432/* The typical workload of the driver:
433 Handle the network interface interrupts. */ 433 Handle the network interface interrupts. */
434static irqreturn_t net_interrupt(int irq, void *dev_id, struct pt_regs * regs) 434static irqreturn_t net_interrupt(int irq, void *dev_id)
435{ 435{
436 struct net_device *dev = dev_id; 436 struct net_device *dev = dev_id;
437 struct net_local *lp; 437 struct net_local *lp;
diff --git a/drivers/net/mace.c b/drivers/net/mace.c
index 27c24eaa2414..2907cfb12ada 100644
--- a/drivers/net/mace.c
+++ b/drivers/net/mace.c
@@ -82,9 +82,9 @@ static struct net_device_stats *mace_stats(struct net_device *dev);
82static void mace_set_multicast(struct net_device *dev); 82static void mace_set_multicast(struct net_device *dev);
83static void mace_reset(struct net_device *dev); 83static void mace_reset(struct net_device *dev);
84static int mace_set_address(struct net_device *dev, void *addr); 84static int mace_set_address(struct net_device *dev, void *addr);
85static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs); 85static irqreturn_t mace_interrupt(int irq, void *dev_id);
86static irqreturn_t mace_txdma_intr(int irq, void *dev_id, struct pt_regs *regs); 86static irqreturn_t mace_txdma_intr(int irq, void *dev_id);
87static irqreturn_t mace_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs); 87static irqreturn_t mace_rxdma_intr(int irq, void *dev_id);
88static void mace_set_timeout(struct net_device *dev); 88static void mace_set_timeout(struct net_device *dev);
89static void mace_tx_timeout(unsigned long data); 89static void mace_tx_timeout(unsigned long data);
90static inline void dbdma_reset(volatile struct dbdma_regs __iomem *dma); 90static inline void dbdma_reset(volatile struct dbdma_regs __iomem *dma);
@@ -678,7 +678,7 @@ static void mace_handle_misc_intrs(struct mace_data *mp, int intr)
678 printk(KERN_DEBUG "mace: jabbering transceiver\n"); 678 printk(KERN_DEBUG "mace: jabbering transceiver\n");
679} 679}
680 680
681static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs) 681static irqreturn_t mace_interrupt(int irq, void *dev_id)
682{ 682{
683 struct net_device *dev = (struct net_device *) dev_id; 683 struct net_device *dev = (struct net_device *) dev_id;
684 struct mace_data *mp = (struct mace_data *) dev->priv; 684 struct mace_data *mp = (struct mace_data *) dev->priv;
@@ -890,12 +890,12 @@ out:
890 spin_unlock_irqrestore(&mp->lock, flags); 890 spin_unlock_irqrestore(&mp->lock, flags);
891} 891}
892 892
893static irqreturn_t mace_txdma_intr(int irq, void *dev_id, struct pt_regs *regs) 893static irqreturn_t mace_txdma_intr(int irq, void *dev_id)
894{ 894{
895 return IRQ_HANDLED; 895 return IRQ_HANDLED;
896} 896}
897 897
898static irqreturn_t mace_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs) 898static irqreturn_t mace_rxdma_intr(int irq, void *dev_id)
899{ 899{
900 struct net_device *dev = (struct net_device *) dev_id; 900 struct net_device *dev = (struct net_device *) dev_id;
901 struct mace_data *mp = (struct mace_data *) dev->priv; 901 struct mace_data *mp = (struct mace_data *) dev->priv;
diff --git a/drivers/net/macmace.c b/drivers/net/macmace.c
index 696d5513e558..464e4a6f3d5f 100644
--- a/drivers/net/macmace.c
+++ b/drivers/net/macmace.c
@@ -77,8 +77,8 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev);
77static struct net_device_stats *mace_stats(struct net_device *dev); 77static struct net_device_stats *mace_stats(struct net_device *dev);
78static void mace_set_multicast(struct net_device *dev); 78static void mace_set_multicast(struct net_device *dev);
79static int mace_set_address(struct net_device *dev, void *addr); 79static int mace_set_address(struct net_device *dev, void *addr);
80static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs); 80static irqreturn_t mace_interrupt(int irq, void *dev_id);
81static irqreturn_t mace_dma_intr(int irq, void *dev_id, struct pt_regs *regs); 81static irqreturn_t mace_dma_intr(int irq, void *dev_id);
82static void mace_tx_timeout(struct net_device *dev); 82static void mace_tx_timeout(struct net_device *dev);
83 83
84/* Bit-reverse one byte of an ethernet hardware address. */ 84/* Bit-reverse one byte of an ethernet hardware address. */
@@ -573,7 +573,7 @@ static void mace_recv_interrupt(struct net_device *dev)
573 * Process the chip interrupt 573 * Process the chip interrupt
574 */ 574 */
575 575
576static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs) 576static irqreturn_t mace_interrupt(int irq, void *dev_id)
577{ 577{
578 struct net_device *dev = (struct net_device *) dev_id; 578 struct net_device *dev = (struct net_device *) dev_id;
579 struct mace_data *mp = (struct mace_data *) dev->priv; 579 struct mace_data *mp = (struct mace_data *) dev->priv;
@@ -645,7 +645,7 @@ static void mace_dma_rx_frame(struct net_device *dev, struct mace_frame *mf)
645 * The PSC has passed us a DMA interrupt event. 645 * The PSC has passed us a DMA interrupt event.
646 */ 646 */
647 647
648static irqreturn_t mace_dma_intr(int irq, void *dev_id, struct pt_regs *regs) 648static irqreturn_t mace_dma_intr(int irq, void *dev_id)
649{ 649{
650 struct net_device *dev = (struct net_device *) dev_id; 650 struct net_device *dev = (struct net_device *) dev_id;
651 struct mace_data *mp = (struct mace_data *) dev->priv; 651 struct mace_data *mp = (struct mace_data *) dev->priv;
diff --git a/drivers/net/meth.c b/drivers/net/meth.c
index 55b1495a70d6..c1aa60b9a982 100644
--- a/drivers/net/meth.c
+++ b/drivers/net/meth.c
@@ -92,7 +92,7 @@ struct meth_private {
92}; 92};
93 93
94static void meth_tx_timeout(struct net_device *dev); 94static void meth_tx_timeout(struct net_device *dev);
95static irqreturn_t meth_interrupt(int irq, void *dev_id, struct pt_regs *pregs); 95static irqreturn_t meth_interrupt(int irq, void *dev_id);
96 96
97/* global, initialized in ip32-setup.c */ 97/* global, initialized in ip32-setup.c */
98char o2meth_eaddr[8]={0,0,0,0,0,0,0,0}; 98char o2meth_eaddr[8]={0,0,0,0,0,0,0,0};
@@ -569,7 +569,7 @@ static void meth_error(struct net_device* dev, unsigned status)
569/* 569/*
570 * The typical interrupt entry point 570 * The typical interrupt entry point
571 */ 571 */
572static irqreturn_t meth_interrupt(int irq, void *dev_id, struct pt_regs *pregs) 572static irqreturn_t meth_interrupt(int irq, void *dev_id)
573{ 573{
574 struct net_device *dev = (struct net_device *)dev_id; 574 struct net_device *dev = (struct net_device *)dev_id;
575 struct meth_private *priv = (struct meth_private *) dev->priv; 575 struct meth_private *priv = (struct meth_private *) dev->priv;
diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c
index 07e58f4a2916..c9469985bd71 100644
--- a/drivers/net/mipsnet.c
+++ b/drivers/net/mipsnet.c
@@ -116,8 +116,7 @@ static inline ssize_t mipsnet_get_fromdev(struct net_device *dev, size_t count)
116 return count; 116 return count;
117} 117}
118 118
119static irqreturn_t 119static irqreturn_t mipsnet_interrupt(int irq, void *dev_id)
120mipsnet_interrupt(int irq, void *dev_id, struct pt_regs *regs)
121{ 120{
122 struct net_device *dev = dev_id; 121 struct net_device *dev = dev_id;
123 122
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 7f8e5ad1b704..d26a819a9735 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -507,8 +507,7 @@ static void mv643xx_eth_update_pscr(struct net_device *dev,
507 * Output : N/A 507 * Output : N/A
508 */ 508 */
509 509
510static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id, 510static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id)
511 struct pt_regs *regs)
512{ 511{
513 struct net_device *dev = (struct net_device *)dev_id; 512 struct net_device *dev = (struct net_device *)dev_id;
514 struct mv643xx_private *mp = netdev_priv(dev); 513 struct mv643xx_private *mp = netdev_priv(dev);
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 4330197994df..fdbb0d7213b0 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -1148,7 +1148,7 @@ static int myri10ge_poll(struct net_device *netdev, int *budget)
1148 return 1; 1148 return 1;
1149} 1149}
1150 1150
1151static irqreturn_t myri10ge_intr(int irq, void *arg, struct pt_regs *regs) 1151static irqreturn_t myri10ge_intr(int irq, void *arg)
1152{ 1152{
1153 struct myri10ge_priv *mgp = arg; 1153 struct myri10ge_priv *mgp = arg;
1154 struct mcp_irq_data *stats = mgp->fw_stats; 1154 struct mcp_irq_data *stats = mgp->fw_stats;
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c
index a925bc9db4ac..466b484c9fa4 100644
--- a/drivers/net/myri_sbus.c
+++ b/drivers/net/myri_sbus.c
@@ -536,7 +536,7 @@ static void myri_rx(struct myri_eth *mp, struct net_device *dev)
536 } 536 }
537} 537}
538 538
539static irqreturn_t myri_interrupt(int irq, void *dev_id, struct pt_regs *regs) 539static irqreturn_t myri_interrupt(int irq, void *dev_id)
540{ 540{
541 struct net_device *dev = (struct net_device *) dev_id; 541 struct net_device *dev = (struct net_device *) dev_id;
542 struct myri_eth *mp = (struct myri_eth *) dev->priv; 542 struct myri_eth *mp = (struct myri_eth *) dev->priv;
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index d7b241f7d7bc..ffa0afd2eddc 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -623,7 +623,7 @@ static void free_ring(struct net_device *dev);
623static void reinit_ring(struct net_device *dev); 623static void reinit_ring(struct net_device *dev);
624static void init_registers(struct net_device *dev); 624static void init_registers(struct net_device *dev);
625static int start_tx(struct sk_buff *skb, struct net_device *dev); 625static int start_tx(struct sk_buff *skb, struct net_device *dev);
626static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *regs); 626static irqreturn_t intr_handler(int irq, void *dev_instance);
627static void netdev_error(struct net_device *dev, int intr_status); 627static void netdev_error(struct net_device *dev, int intr_status);
628static int natsemi_poll(struct net_device *dev, int *budget); 628static int natsemi_poll(struct net_device *dev, int *budget);
629static void netdev_rx(struct net_device *dev, int *work_done, int work_to_do); 629static void netdev_rx(struct net_device *dev, int *work_done, int work_to_do);
@@ -2088,7 +2088,7 @@ static void netdev_tx_done(struct net_device *dev)
2088 2088
2089/* The interrupt handler doesn't actually handle interrupts itself, it 2089/* The interrupt handler doesn't actually handle interrupts itself, it
2090 * schedules a NAPI poll if there is anything to do. */ 2090 * schedules a NAPI poll if there is anything to do. */
2091static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *rgs) 2091static irqreturn_t intr_handler(int irq, void *dev_instance)
2092{ 2092{
2093 struct net_device *dev = dev_instance; 2093 struct net_device *dev = dev_instance;
2094 struct netdev_private *np = netdev_priv(dev); 2094 struct netdev_private *np = netdev_priv(dev);
@@ -2373,7 +2373,7 @@ static struct net_device_stats *get_stats(struct net_device *dev)
2373static void natsemi_poll_controller(struct net_device *dev) 2373static void natsemi_poll_controller(struct net_device *dev)
2374{ 2374{
2375 disable_irq(dev->irq); 2375 disable_irq(dev->irq);
2376 intr_handler(dev->irq, dev, NULL); 2376 intr_handler(dev->irq, dev);
2377 enable_irq(dev->irq); 2377 enable_irq(dev->irq);
2378} 2378}
2379#endif 2379#endif
diff --git a/drivers/net/netx-eth.c b/drivers/net/netx-eth.c
index 30ed9a5a40e0..a53644f6a29b 100644
--- a/drivers/net/netx-eth.c
+++ b/drivers/net/netx-eth.c
@@ -176,7 +176,7 @@ static void netx_eth_receive(struct net_device *ndev)
176} 176}
177 177
178static irqreturn_t 178static irqreturn_t
179netx_eth_interrupt(int irq, void *dev_id, struct pt_regs *regs) 179netx_eth_interrupt(int irq, void *dev_id)
180{ 180{
181 struct net_device *ndev = dev_id; 181 struct net_device *ndev = dev_id;
182 struct netx_eth_priv *priv = netdev_priv(ndev); 182 struct netx_eth_priv *priv = netdev_priv(ndev);
diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c
index 383c690eefec..8be0d030d6f4 100644
--- a/drivers/net/ni5010.c
+++ b/drivers/net/ni5010.c
@@ -99,7 +99,7 @@ struct ni5010_local {
99static int ni5010_probe1(struct net_device *dev, int ioaddr); 99static int ni5010_probe1(struct net_device *dev, int ioaddr);
100static int ni5010_open(struct net_device *dev); 100static int ni5010_open(struct net_device *dev);
101static int ni5010_send_packet(struct sk_buff *skb, struct net_device *dev); 101static int ni5010_send_packet(struct sk_buff *skb, struct net_device *dev);
102static irqreturn_t ni5010_interrupt(int irq, void *dev_id, struct pt_regs *regs); 102static irqreturn_t ni5010_interrupt(int irq, void *dev_id);
103static void ni5010_rx(struct net_device *dev); 103static void ni5010_rx(struct net_device *dev);
104static void ni5010_timeout(struct net_device *dev); 104static void ni5010_timeout(struct net_device *dev);
105static int ni5010_close(struct net_device *dev); 105static int ni5010_close(struct net_device *dev);
@@ -468,7 +468,7 @@ static int ni5010_send_packet(struct sk_buff *skb, struct net_device *dev)
468 * The typical workload of the driver: 468 * The typical workload of the driver:
469 * Handle the network interface interrupts. 469 * Handle the network interface interrupts.
470 */ 470 */
471static irqreturn_t ni5010_interrupt(int irq, void *dev_id, struct pt_regs *regs) 471static irqreturn_t ni5010_interrupt(int irq, void *dev_id)
472{ 472{
473 struct net_device *dev = dev_id; 473 struct net_device *dev = dev_id;
474 struct ni5010_local *lp; 474 struct ni5010_local *lp;
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c
index e8889235996e..26e42f6e9fb1 100644
--- a/drivers/net/ni52.c
+++ b/drivers/net/ni52.c
@@ -195,7 +195,7 @@ sizeof(nop_cmd) = 8;
195#define NI52_ADDR2 0x01 195#define NI52_ADDR2 0x01
196 196
197static int ni52_probe1(struct net_device *dev,int ioaddr); 197static int ni52_probe1(struct net_device *dev,int ioaddr);
198static irqreturn_t ni52_interrupt(int irq,void *dev_id,struct pt_regs *reg_ptr); 198static irqreturn_t ni52_interrupt(int irq,void *dev_id);
199static int ni52_open(struct net_device *dev); 199static int ni52_open(struct net_device *dev);
200static int ni52_close(struct net_device *dev); 200static int ni52_close(struct net_device *dev);
201static int ni52_send_packet(struct sk_buff *,struct net_device *); 201static int ni52_send_packet(struct sk_buff *,struct net_device *);
@@ -837,7 +837,7 @@ static void *alloc_rfa(struct net_device *dev,void *ptr)
837 * Interrupt Handler ... 837 * Interrupt Handler ...
838 */ 838 */
839 839
840static irqreturn_t ni52_interrupt(int irq,void *dev_id,struct pt_regs *reg_ptr) 840static irqreturn_t ni52_interrupt(int irq,void *dev_id)
841{ 841{
842 struct net_device *dev = dev_id; 842 struct net_device *dev = dev_id;
843 unsigned short stat; 843 unsigned short stat;
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c
index fab3c8593ac1..340ad0d5388a 100644
--- a/drivers/net/ni65.c
+++ b/drivers/net/ni65.c
@@ -248,7 +248,7 @@ struct priv
248}; 248};
249 249
250static int ni65_probe1(struct net_device *dev,int); 250static int ni65_probe1(struct net_device *dev,int);
251static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs *regs); 251static irqreturn_t ni65_interrupt(int irq, void * dev_id);
252static void ni65_recv_intr(struct net_device *dev,int); 252static void ni65_recv_intr(struct net_device *dev,int);
253static void ni65_xmit_intr(struct net_device *dev,int); 253static void ni65_xmit_intr(struct net_device *dev,int);
254static int ni65_open(struct net_device *dev); 254static int ni65_open(struct net_device *dev);
@@ -871,7 +871,7 @@ static int ni65_lance_reinit(struct net_device *dev)
871/* 871/*
872 * interrupt handler 872 * interrupt handler
873 */ 873 */
874static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs * regs) 874static irqreturn_t ni65_interrupt(int irq, void * dev_id)
875{ 875{
876 int csr0 = 0; 876 int csr0 = 0;
877 struct net_device *dev = dev_id; 877 struct net_device *dev = dev_id;
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index e10da1aa3d30..b0127c71a5b6 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -1288,7 +1288,7 @@ static void ns83820_mib_isr(struct ns83820 *dev)
1288} 1288}
1289 1289
1290static void ns83820_do_isr(struct net_device *ndev, u32 isr); 1290static void ns83820_do_isr(struct net_device *ndev, u32 isr);
1291static irqreturn_t ns83820_irq(int foo, void *data, struct pt_regs *regs) 1291static irqreturn_t ns83820_irq(int foo, void *data)
1292{ 1292{
1293 struct net_device *ndev = data; 1293 struct net_device *ndev = data;
1294 struct ns83820 *dev = PRIV(ndev); 1294 struct ns83820 *dev = PRIV(ndev);
diff --git a/drivers/net/pci-skeleton.c b/drivers/net/pci-skeleton.c
index 2687e747657d..00ca0fdb837b 100644
--- a/drivers/net/pci-skeleton.c
+++ b/drivers/net/pci-skeleton.c
@@ -502,8 +502,7 @@ static void netdrv_tx_timeout (struct net_device *dev);
502static void netdrv_init_ring (struct net_device *dev); 502static void netdrv_init_ring (struct net_device *dev);
503static int netdrv_start_xmit (struct sk_buff *skb, 503static int netdrv_start_xmit (struct sk_buff *skb,
504 struct net_device *dev); 504 struct net_device *dev);
505static irqreturn_t netdrv_interrupt (int irq, void *dev_instance, 505static irqreturn_t netdrv_interrupt (int irq, void *dev_instance);
506 struct pt_regs *regs);
507static int netdrv_close (struct net_device *dev); 506static int netdrv_close (struct net_device *dev);
508static int netdrv_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); 507static int netdrv_ioctl (struct net_device *dev, struct ifreq *rq, int cmd);
509static struct net_device_stats *netdrv_get_stats (struct net_device *dev); 508static struct net_device_stats *netdrv_get_stats (struct net_device *dev);
@@ -1654,8 +1653,7 @@ static void netdrv_weird_interrupt (struct net_device *dev,
1654 1653
1655/* The interrupt handler does all of the Rx thread work and cleans up 1654/* The interrupt handler does all of the Rx thread work and cleans up
1656 after the Tx thread. */ 1655 after the Tx thread. */
1657static irqreturn_t netdrv_interrupt (int irq, void *dev_instance, 1656static irqreturn_t netdrv_interrupt (int irq, void *dev_instance)
1658 struct pt_regs *regs)
1659{ 1657{
1660 struct net_device *dev = (struct net_device *) dev_instance; 1658 struct net_device *dev = (struct net_device *) dev_instance;
1661 struct netdrv_private *tp = dev->priv; 1659 struct netdrv_private *tp = dev->priv;
diff --git a/drivers/net/pcmcia/3c574_cs.c b/drivers/net/pcmcia/3c574_cs.c
index 2418cdb9d317..046009928526 100644
--- a/drivers/net/pcmcia/3c574_cs.c
+++ b/drivers/net/pcmcia/3c574_cs.c
@@ -238,7 +238,7 @@ static void tc574_reset(struct net_device *dev);
238static void media_check(unsigned long arg); 238static void media_check(unsigned long arg);
239static int el3_open(struct net_device *dev); 239static int el3_open(struct net_device *dev);
240static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev); 240static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
241static irqreturn_t el3_interrupt(int irq, void *dev_id, struct pt_regs *regs); 241static irqreturn_t el3_interrupt(int irq, void *dev_id);
242static void update_stats(struct net_device *dev); 242static void update_stats(struct net_device *dev);
243static struct net_device_stats *el3_get_stats(struct net_device *dev); 243static struct net_device_stats *el3_get_stats(struct net_device *dev);
244static int el3_rx(struct net_device *dev, int worklimit); 244static int el3_rx(struct net_device *dev, int worklimit);
@@ -817,7 +817,7 @@ static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
817} 817}
818 818
819/* The EL3 interrupt handler. */ 819/* The EL3 interrupt handler. */
820static irqreturn_t el3_interrupt(int irq, void *dev_id, struct pt_regs *regs) 820static irqreturn_t el3_interrupt(int irq, void *dev_id)
821{ 821{
822 struct net_device *dev = (struct net_device *) dev_id; 822 struct net_device *dev = (struct net_device *) dev_id;
823 struct el3_private *lp = netdev_priv(dev); 823 struct el3_private *lp = netdev_priv(dev);
@@ -927,7 +927,7 @@ static void media_check(unsigned long arg)
927 if ((inw(ioaddr + EL3_STATUS) & IntLatch) && (inb(ioaddr + Timer) == 0xff)) { 927 if ((inw(ioaddr + EL3_STATUS) & IntLatch) && (inb(ioaddr + Timer) == 0xff)) {
928 if (!lp->fast_poll) 928 if (!lp->fast_poll)
929 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name); 929 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
930 el3_interrupt(dev->irq, lp, NULL); 930 el3_interrupt(dev->irq, lp);
931 lp->fast_poll = HZ; 931 lp->fast_poll = HZ;
932 } 932 }
933 if (lp->fast_poll) { 933 if (lp->fast_poll) {
diff --git a/drivers/net/pcmcia/3c589_cs.c b/drivers/net/pcmcia/3c589_cs.c
index a0e2b01c027c..231fa2c9ec6c 100644
--- a/drivers/net/pcmcia/3c589_cs.c
+++ b/drivers/net/pcmcia/3c589_cs.c
@@ -151,7 +151,7 @@ static void media_check(unsigned long arg);
151static int el3_config(struct net_device *dev, struct ifmap *map); 151static int el3_config(struct net_device *dev, struct ifmap *map);
152static int el3_open(struct net_device *dev); 152static int el3_open(struct net_device *dev);
153static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev); 153static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
154static irqreturn_t el3_interrupt(int irq, void *dev_id, struct pt_regs *regs); 154static irqreturn_t el3_interrupt(int irq, void *dev_id);
155static void update_stats(struct net_device *dev); 155static void update_stats(struct net_device *dev);
156static struct net_device_stats *el3_get_stats(struct net_device *dev); 156static struct net_device_stats *el3_get_stats(struct net_device *dev);
157static int el3_rx(struct net_device *dev); 157static int el3_rx(struct net_device *dev);
@@ -645,7 +645,7 @@ static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
645} 645}
646 646
647/* The EL3 interrupt handler. */ 647/* The EL3 interrupt handler. */
648static irqreturn_t el3_interrupt(int irq, void *dev_id, struct pt_regs *regs) 648static irqreturn_t el3_interrupt(int irq, void *dev_id)
649{ 649{
650 struct net_device *dev = (struct net_device *) dev_id; 650 struct net_device *dev = (struct net_device *) dev_id;
651 struct el3_private *lp = netdev_priv(dev); 651 struct el3_private *lp = netdev_priv(dev);
@@ -748,7 +748,7 @@ static void media_check(unsigned long arg)
748 (inb(ioaddr + EL3_TIMER) == 0xff)) { 748 (inb(ioaddr + EL3_TIMER) == 0xff)) {
749 if (!lp->fast_poll) 749 if (!lp->fast_poll)
750 printk(KERN_WARNING "%s: interrupt(s) dropped!\n", dev->name); 750 printk(KERN_WARNING "%s: interrupt(s) dropped!\n", dev->name);
751 el3_interrupt(dev->irq, lp, NULL); 751 el3_interrupt(dev->irq, lp);
752 lp->fast_poll = HZ; 752 lp->fast_poll = HZ;
753 } 753 }
754 if (lp->fast_poll) { 754 if (lp->fast_poll) {
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index a8891a9000ac..e5f366910914 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -92,7 +92,7 @@ static int axnet_open(struct net_device *dev);
92static int axnet_close(struct net_device *dev); 92static int axnet_close(struct net_device *dev);
93static int axnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 93static int axnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
94static const struct ethtool_ops netdev_ethtool_ops; 94static const struct ethtool_ops netdev_ethtool_ops;
95static irqreturn_t ei_irq_wrapper(int irq, void *dev_id, struct pt_regs *regs); 95static irqreturn_t ei_irq_wrapper(int irq, void *dev_id);
96static void ei_watchdog(u_long arg); 96static void ei_watchdog(u_long arg);
97static void axnet_reset_8390(struct net_device *dev); 97static void axnet_reset_8390(struct net_device *dev);
98 98
@@ -112,7 +112,7 @@ static void axdev_setup(struct net_device *dev);
112static void AX88190_init(struct net_device *dev, int startp); 112static void AX88190_init(struct net_device *dev, int startp);
113static int ax_open(struct net_device *dev); 113static int ax_open(struct net_device *dev);
114static int ax_close(struct net_device *dev); 114static int ax_close(struct net_device *dev);
115static irqreturn_t ax_interrupt(int irq, void *dev_id, struct pt_regs *regs); 115static irqreturn_t ax_interrupt(int irq, void *dev_id);
116 116
117/*====================================================================*/ 117/*====================================================================*/
118 118
@@ -599,11 +599,11 @@ static void axnet_reset_8390(struct net_device *dev)
599 599
600/*====================================================================*/ 600/*====================================================================*/
601 601
602static irqreturn_t ei_irq_wrapper(int irq, void *dev_id, struct pt_regs *regs) 602static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
603{ 603{
604 struct net_device *dev = dev_id; 604 struct net_device *dev = dev_id;
605 PRIV(dev)->stale = 0; 605 PRIV(dev)->stale = 0;
606 return ax_interrupt(irq, dev_id, regs); 606 return ax_interrupt(irq, dev_id);
607} 607}
608 608
609static void ei_watchdog(u_long arg) 609static void ei_watchdog(u_long arg)
@@ -621,7 +621,7 @@ static void ei_watchdog(u_long arg)
621 if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) { 621 if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) {
622 if (!info->fast_poll) 622 if (!info->fast_poll)
623 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name); 623 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
624 ei_irq_wrapper(dev->irq, dev, NULL); 624 ei_irq_wrapper(dev->irq, dev);
625 info->fast_poll = HZ; 625 info->fast_poll = HZ;
626 } 626 }
627 if (info->fast_poll) { 627 if (info->fast_poll) {
@@ -1193,7 +1193,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
1193 * needed. 1193 * needed.
1194 */ 1194 */
1195 1195
1196static irqreturn_t ax_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1196static irqreturn_t ax_interrupt(int irq, void *dev_id)
1197{ 1197{
1198 struct net_device *dev = dev_id; 1198 struct net_device *dev = dev_id;
1199 long e8390_base; 1199 long e8390_base;
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index d682f30dea6e..65f6fdf43725 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -97,7 +97,7 @@ static int fjn_config(struct net_device *dev, struct ifmap *map);
97static int fjn_open(struct net_device *dev); 97static int fjn_open(struct net_device *dev);
98static int fjn_close(struct net_device *dev); 98static int fjn_close(struct net_device *dev);
99static int fjn_start_xmit(struct sk_buff *skb, struct net_device *dev); 99static int fjn_start_xmit(struct sk_buff *skb, struct net_device *dev);
100static irqreturn_t fjn_interrupt(int irq, void *dev_id, struct pt_regs *regs); 100static irqreturn_t fjn_interrupt(int irq, void *dev_id);
101static void fjn_rx(struct net_device *dev); 101static void fjn_rx(struct net_device *dev);
102static void fjn_reset(struct net_device *dev); 102static void fjn_reset(struct net_device *dev);
103static struct net_device_stats *fjn_get_stats(struct net_device *dev); 103static struct net_device_stats *fjn_get_stats(struct net_device *dev);
@@ -733,7 +733,7 @@ module_exit(exit_fmvj18x_cs);
733 733
734/*====================================================================*/ 734/*====================================================================*/
735 735
736static irqreturn_t fjn_interrupt(int irq, void *dev_id, struct pt_regs *regs) 736static irqreturn_t fjn_interrupt(int irq, void *dev_id)
737{ 737{
738 struct net_device *dev = dev_id; 738 struct net_device *dev = dev_id;
739 local_info_t *lp = netdev_priv(dev); 739 local_info_t *lp = netdev_priv(dev);
diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c
index 7d5687e94607..e77110e4c288 100644
--- a/drivers/net/pcmcia/nmclan_cs.c
+++ b/drivers/net/pcmcia/nmclan_cs.c
@@ -426,7 +426,7 @@ static int mace_open(struct net_device *dev);
426static int mace_close(struct net_device *dev); 426static int mace_close(struct net_device *dev);
427static int mace_start_xmit(struct sk_buff *skb, struct net_device *dev); 427static int mace_start_xmit(struct sk_buff *skb, struct net_device *dev);
428static void mace_tx_timeout(struct net_device *dev); 428static void mace_tx_timeout(struct net_device *dev);
429static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs); 429static irqreturn_t mace_interrupt(int irq, void *dev_id);
430static struct net_device_stats *mace_get_stats(struct net_device *dev); 430static struct net_device_stats *mace_get_stats(struct net_device *dev);
431static int mace_rx(struct net_device *dev, unsigned char RxCnt); 431static int mace_rx(struct net_device *dev, unsigned char RxCnt);
432static void restore_multicast_list(struct net_device *dev); 432static void restore_multicast_list(struct net_device *dev);
@@ -1002,7 +1002,7 @@ static int mace_start_xmit(struct sk_buff *skb, struct net_device *dev)
1002mace_interrupt 1002mace_interrupt
1003 The interrupt handler. 1003 The interrupt handler.
1004---------------------------------------------------------------------------- */ 1004---------------------------------------------------------------------------- */
1005static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1005static irqreturn_t mace_interrupt(int irq, void *dev_id)
1006{ 1006{
1007 struct net_device *dev = (struct net_device *) dev_id; 1007 struct net_device *dev = (struct net_device *) dev_id;
1008 mace_private *lp = netdev_priv(dev); 1008 mace_private *lp = netdev_priv(dev);
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
index a09c22840f63..0c00d182e7fd 100644
--- a/drivers/net/pcmcia/pcnet_cs.c
+++ b/drivers/net/pcmcia/pcnet_cs.c
@@ -109,7 +109,7 @@ static int pcnet_open(struct net_device *dev);
109static int pcnet_close(struct net_device *dev); 109static int pcnet_close(struct net_device *dev);
110static int ei_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 110static int ei_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
111static const struct ethtool_ops netdev_ethtool_ops; 111static const struct ethtool_ops netdev_ethtool_ops;
112static irqreturn_t ei_irq_wrapper(int irq, void *dev_id, struct pt_regs *regs); 112static irqreturn_t ei_irq_wrapper(int irq, void *dev_id);
113static void ei_watchdog(u_long arg); 113static void ei_watchdog(u_long arg);
114static void pcnet_reset_8390(struct net_device *dev); 114static void pcnet_reset_8390(struct net_device *dev);
115static int set_config(struct net_device *dev, struct ifmap *map); 115static int set_config(struct net_device *dev, struct ifmap *map);
@@ -1071,11 +1071,11 @@ static int set_config(struct net_device *dev, struct ifmap *map)
1071 1071
1072/*====================================================================*/ 1072/*====================================================================*/
1073 1073
1074static irqreturn_t ei_irq_wrapper(int irq, void *dev_id, struct pt_regs *regs) 1074static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
1075{ 1075{
1076 struct net_device *dev = dev_id; 1076 struct net_device *dev = dev_id;
1077 pcnet_dev_t *info; 1077 pcnet_dev_t *info;
1078 irqreturn_t ret = ei_interrupt(irq, dev_id, regs); 1078 irqreturn_t ret = ei_interrupt(irq, dev_id);
1079 1079
1080 if (ret == IRQ_HANDLED) { 1080 if (ret == IRQ_HANDLED) {
1081 info = PRIV(dev); 1081 info = PRIV(dev);
@@ -1100,7 +1100,7 @@ static void ei_watchdog(u_long arg)
1100 if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) { 1100 if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) {
1101 if (!info->fast_poll) 1101 if (!info->fast_poll)
1102 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name); 1102 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
1103 ei_irq_wrapper(dev->irq, dev, NULL); 1103 ei_irq_wrapper(dev->irq, dev);
1104 info->fast_poll = HZ; 1104 info->fast_poll = HZ;
1105 } 1105 }
1106 if (info->fast_poll) { 1106 if (info->fast_poll) {
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c
index a2f3a0e2a005..20fcc3576202 100644
--- a/drivers/net/pcmcia/smc91c92_cs.c
+++ b/drivers/net/pcmcia/smc91c92_cs.c
@@ -287,7 +287,7 @@ static int smc_close(struct net_device *dev);
287static int smc_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 287static int smc_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
288static void smc_tx_timeout(struct net_device *dev); 288static void smc_tx_timeout(struct net_device *dev);
289static int smc_start_xmit(struct sk_buff *skb, struct net_device *dev); 289static int smc_start_xmit(struct sk_buff *skb, struct net_device *dev);
290static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs); 290static irqreturn_t smc_interrupt(int irq, void *dev_id);
291static void smc_rx(struct net_device *dev); 291static void smc_rx(struct net_device *dev);
292static struct net_device_stats *smc_get_stats(struct net_device *dev); 292static struct net_device_stats *smc_get_stats(struct net_device *dev);
293static void set_rx_mode(struct net_device *dev); 293static void set_rx_mode(struct net_device *dev);
@@ -1545,7 +1545,7 @@ static void smc_eph_irq(struct net_device *dev)
1545 1545
1546/*====================================================================*/ 1546/*====================================================================*/
1547 1547
1548static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1548static irqreturn_t smc_interrupt(int irq, void *dev_id)
1549{ 1549{
1550 struct net_device *dev = dev_id; 1550 struct net_device *dev = dev_id;
1551 struct smc_private *smc = netdev_priv(dev); 1551 struct smc_private *smc = netdev_priv(dev);
@@ -1966,7 +1966,7 @@ static void media_check(u_long arg)
1966 if (smc->watchdog++ && ((i>>8) & i)) { 1966 if (smc->watchdog++ && ((i>>8) & i)) {
1967 if (!smc->fast_poll) 1967 if (!smc->fast_poll)
1968 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name); 1968 printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
1969 smc_interrupt(dev->irq, smc, NULL); 1969 smc_interrupt(dev->irq, smc);
1970 smc->fast_poll = HZ; 1970 smc->fast_poll = HZ;
1971 } 1971 }
1972 if (smc->fast_poll) { 1972 if (smc->fast_poll) {
diff --git a/drivers/net/pcmcia/xirc2ps_cs.c b/drivers/net/pcmcia/xirc2ps_cs.c
index 62664c01eb45..f3914f58d67f 100644
--- a/drivers/net/pcmcia/xirc2ps_cs.c
+++ b/drivers/net/pcmcia/xirc2ps_cs.c
@@ -308,7 +308,7 @@ static void xirc2ps_detach(struct pcmcia_device *p_dev);
308 * less on other parts of the kernel. 308 * less on other parts of the kernel.
309 */ 309 */
310 310
311static irqreturn_t xirc2ps_interrupt(int irq, void *dev_id, struct pt_regs *regs); 311static irqreturn_t xirc2ps_interrupt(int irq, void *dev_id);
312 312
313/**************** 313/****************
314 * A linked list of "instances" of the device. Each actual 314 * A linked list of "instances" of the device. Each actual
@@ -1121,7 +1121,7 @@ static int xirc2ps_resume(struct pcmcia_device *link)
1121 * This is the Interrupt service route. 1121 * This is the Interrupt service route.
1122 */ 1122 */
1123static irqreturn_t 1123static irqreturn_t
1124xirc2ps_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1124xirc2ps_interrupt(int irq, void *dev_id)
1125{ 1125{
1126 struct net_device *dev = (struct net_device *)dev_id; 1126 struct net_device *dev = (struct net_device *)dev_id;
1127 local_info_t *lp = netdev_priv(dev); 1127 local_info_t *lp = netdev_priv(dev);
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index a43e24245b7e..c73e2f210774 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -304,7 +304,7 @@ static int pcnet32_open(struct net_device *);
304static int pcnet32_init_ring(struct net_device *); 304static int pcnet32_init_ring(struct net_device *);
305static int pcnet32_start_xmit(struct sk_buff *, struct net_device *); 305static int pcnet32_start_xmit(struct sk_buff *, struct net_device *);
306static void pcnet32_tx_timeout(struct net_device *dev); 306static void pcnet32_tx_timeout(struct net_device *dev);
307static irqreturn_t pcnet32_interrupt(int, void *, struct pt_regs *); 307static irqreturn_t pcnet32_interrupt(int, void *);
308static int pcnet32_close(struct net_device *); 308static int pcnet32_close(struct net_device *);
309static struct net_device_stats *pcnet32_get_stats(struct net_device *); 309static struct net_device_stats *pcnet32_get_stats(struct net_device *);
310static void pcnet32_load_multicast(struct net_device *dev); 310static void pcnet32_load_multicast(struct net_device *dev);
@@ -674,7 +674,7 @@ static void pcnet32_purge_rx_ring(struct net_device *dev)
674static void pcnet32_poll_controller(struct net_device *dev) 674static void pcnet32_poll_controller(struct net_device *dev)
675{ 675{
676 disable_irq(dev->irq); 676 disable_irq(dev->irq);
677 pcnet32_interrupt(0, dev, NULL); 677 pcnet32_interrupt(0, dev);
678 enable_irq(dev->irq); 678 enable_irq(dev->irq);
679} 679}
680#endif 680#endif
@@ -2561,7 +2561,7 @@ static int pcnet32_start_xmit(struct sk_buff *skb, struct net_device *dev)
2561 2561
2562/* The PCNET32 interrupt handler. */ 2562/* The PCNET32 interrupt handler. */
2563static irqreturn_t 2563static irqreturn_t
2564pcnet32_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2564pcnet32_interrupt(int irq, void *dev_id)
2565{ 2565{
2566 struct net_device *dev = dev_id; 2566 struct net_device *dev = dev_id;
2567 struct pcnet32_private *lp; 2567 struct pcnet32_private *lp;
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index f5aad77288f9..3af9fcf76c81 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -480,7 +480,7 @@ void phy_error(struct phy_device *phydev)
480 * description: When a PHY interrupt occurs, the handler disables 480 * description: When a PHY interrupt occurs, the handler disables
481 * interrupts, and schedules a work task to clear the interrupt. 481 * interrupts, and schedules a work task to clear the interrupt.
482 */ 482 */
483static irqreturn_t phy_interrupt(int irq, void *phy_dat, struct pt_regs *regs) 483static irqreturn_t phy_interrupt(int irq, void *phy_dat)
484{ 484{
485 struct phy_device *phydev = phy_dat; 485 struct phy_device *phydev = phy_dat;
486 486
diff --git a/drivers/net/plip.c b/drivers/net/plip.c
index d4f54e9798cd..c0b333d2917a 100644
--- a/drivers/net/plip.c
+++ b/drivers/net/plip.c
@@ -143,7 +143,7 @@ static void plip_bh(struct net_device *dev);
143static void plip_timer_bh(struct net_device *dev); 143static void plip_timer_bh(struct net_device *dev);
144 144
145/* Interrupt handler */ 145/* Interrupt handler */
146static void plip_interrupt(int irq, void *dev_id, struct pt_regs *regs); 146static void plip_interrupt(int irq, void *dev_id);
147 147
148/* Functions for DEV methods */ 148/* Functions for DEV methods */
149static int plip_tx_packet(struct sk_buff *skb, struct net_device *dev); 149static int plip_tx_packet(struct sk_buff *skb, struct net_device *dev);
@@ -385,7 +385,7 @@ plip_timer_bh(struct net_device *dev)
385 struct net_local *nl = netdev_priv(dev); 385 struct net_local *nl = netdev_priv(dev);
386 386
387 if (!(atomic_read (&nl->kill_timer))) { 387 if (!(atomic_read (&nl->kill_timer))) {
388 plip_interrupt (-1, dev, NULL); 388 plip_interrupt (-1, dev);
389 389
390 schedule_delayed_work(&nl->timer, 1); 390 schedule_delayed_work(&nl->timer, 1);
391 } 391 }
@@ -902,7 +902,7 @@ plip_error(struct net_device *dev, struct net_local *nl,
902 902
903/* Handle the parallel port interrupts. */ 903/* Handle the parallel port interrupts. */
904static void 904static void
905plip_interrupt(int irq, void *dev_id, struct pt_regs * regs) 905plip_interrupt(int irq, void *dev_id)
906{ 906{
907 struct net_device *dev = dev_id; 907 struct net_device *dev = dev_id;
908 struct net_local *nl; 908 struct net_local *nl;
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
index 157471846349..ec640f6229ae 100644
--- a/drivers/net/qla3xxx.c
+++ b/drivers/net/qla3xxx.c
@@ -1965,7 +1965,7 @@ quit_polling:
1965 return 1; 1965 return 1;
1966} 1966}
1967 1967
1968static irqreturn_t ql3xxx_isr(int irq, void *dev_id, struct pt_regs *regs) 1968static irqreturn_t ql3xxx_isr(int irq, void *dev_id)
1969{ 1969{
1970 1970
1971 struct net_device *ndev = dev_id; 1971 struct net_device *ndev = dev_id;
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 4c47c5b10ba0..f1c75751cab7 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -473,8 +473,7 @@ MODULE_VERSION(RTL8169_VERSION);
473 473
474static int rtl8169_open(struct net_device *dev); 474static int rtl8169_open(struct net_device *dev);
475static int rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev); 475static int rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev);
476static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance, 476static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance);
477 struct pt_regs *regs);
478static int rtl8169_init_ring(struct net_device *dev); 477static int rtl8169_init_ring(struct net_device *dev);
479static void rtl8169_hw_start(struct net_device *dev); 478static void rtl8169_hw_start(struct net_device *dev);
480static int rtl8169_close(struct net_device *dev); 479static int rtl8169_close(struct net_device *dev);
@@ -1392,7 +1391,7 @@ static void rtl8169_netpoll(struct net_device *dev)
1392 struct pci_dev *pdev = tp->pci_dev; 1391 struct pci_dev *pdev = tp->pci_dev;
1393 1392
1394 disable_irq(pdev->irq); 1393 disable_irq(pdev->irq);
1395 rtl8169_interrupt(pdev->irq, dev, NULL); 1394 rtl8169_interrupt(pdev->irq, dev);
1396 enable_irq(pdev->irq); 1395 enable_irq(pdev->irq);
1397} 1396}
1398#endif 1397#endif
@@ -2592,7 +2591,7 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp,
2592 2591
2593/* The interrupt handler does all of the Rx thread work and cleans up after the Tx thread. */ 2592/* The interrupt handler does all of the Rx thread work and cleans up after the Tx thread. */
2594static irqreturn_t 2593static irqreturn_t
2595rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 2594rtl8169_interrupt(int irq, void *dev_instance)
2596{ 2595{
2597 struct net_device *dev = (struct net_device *) dev_instance; 2596 struct net_device *dev = (struct net_device *) dev_instance;
2598 struct rtl8169_private *tp = netdev_priv(dev); 2597 struct rtl8169_private *tp = netdev_priv(dev);
diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c
index 6108bac8d56a..d81536f90df6 100644
--- a/drivers/net/rrunner.c
+++ b/drivers/net/rrunner.c
@@ -1053,7 +1053,7 @@ static void rx_int(struct net_device *dev, u32 rxlimit, u32 index)
1053} 1053}
1054 1054
1055 1055
1056static irqreturn_t rr_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) 1056static irqreturn_t rr_interrupt(int irq, void *dev_id)
1057{ 1057{
1058 struct rr_private *rrpriv; 1058 struct rr_private *rrpriv;
1059 struct rr_regs __iomem *regs; 1059 struct rr_regs __iomem *regs;
diff --git a/drivers/net/rrunner.h b/drivers/net/rrunner.h
index 99451b523399..9f3e050c4dc6 100644
--- a/drivers/net/rrunner.h
+++ b/drivers/net/rrunner.h
@@ -829,7 +829,7 @@ struct rr_private
829 */ 829 */
830static int rr_init(struct net_device *dev); 830static int rr_init(struct net_device *dev);
831static int rr_init1(struct net_device *dev); 831static int rr_init1(struct net_device *dev);
832static irqreturn_t rr_interrupt(int irq, void *dev_id, struct pt_regs *regs); 832static irqreturn_t rr_interrupt(int irq, void *dev_id);
833 833
834static int rr_open(struct net_device *dev); 834static int rr_open(struct net_device *dev);
835static int rr_start_xmit(struct sk_buff *skb, struct net_device *dev); 835static int rr_start_xmit(struct sk_buff *skb, struct net_device *dev);
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 1bf23e41f580..a231ab7d28dd 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -4029,8 +4029,7 @@ static int s2io_chk_rx_buffers(nic_t *sp, int rng_n)
4029 return 0; 4029 return 0;
4030} 4030}
4031 4031
4032static irqreturn_t 4032static irqreturn_t s2io_msi_handle(int irq, void *dev_id)
4033s2io_msi_handle(int irq, void *dev_id, struct pt_regs *regs)
4034{ 4033{
4035 struct net_device *dev = (struct net_device *) dev_id; 4034 struct net_device *dev = (struct net_device *) dev_id;
4036 nic_t *sp = dev->priv; 4035 nic_t *sp = dev->priv;
@@ -4063,8 +4062,7 @@ s2io_msi_handle(int irq, void *dev_id, struct pt_regs *regs)
4063 return IRQ_HANDLED; 4062 return IRQ_HANDLED;
4064} 4063}
4065 4064
4066static irqreturn_t 4065static irqreturn_t s2io_msix_ring_handle(int irq, void *dev_id)
4067s2io_msix_ring_handle(int irq, void *dev_id, struct pt_regs *regs)
4068{ 4066{
4069 ring_info_t *ring = (ring_info_t *)dev_id; 4067 ring_info_t *ring = (ring_info_t *)dev_id;
4070 nic_t *sp = ring->nic; 4068 nic_t *sp = ring->nic;
@@ -4078,8 +4076,7 @@ s2io_msix_ring_handle(int irq, void *dev_id, struct pt_regs *regs)
4078 return IRQ_HANDLED; 4076 return IRQ_HANDLED;
4079} 4077}
4080 4078
4081static irqreturn_t 4079static irqreturn_t s2io_msix_fifo_handle(int irq, void *dev_id)
4082s2io_msix_fifo_handle(int irq, void *dev_id, struct pt_regs *regs)
4083{ 4080{
4084 fifo_info_t *fifo = (fifo_info_t *)dev_id; 4081 fifo_info_t *fifo = (fifo_info_t *)dev_id;
4085 nic_t *sp = fifo->nic; 4082 nic_t *sp = fifo->nic;
@@ -4155,7 +4152,6 @@ static void s2io_txpic_intr_handle(nic_t *sp)
4155 * s2io_isr - ISR handler of the device . 4152 * s2io_isr - ISR handler of the device .
4156 * @irq: the irq of the device. 4153 * @irq: the irq of the device.
4157 * @dev_id: a void pointer to the dev structure of the NIC. 4154 * @dev_id: a void pointer to the dev structure of the NIC.
4158 * @pt_regs: pointer to the registers pushed on the stack.
4159 * Description: This function is the ISR handler of the device. It 4155 * Description: This function is the ISR handler of the device. It
4160 * identifies the reason for the interrupt and calls the relevant 4156 * identifies the reason for the interrupt and calls the relevant
4161 * service routines. As a contongency measure, this ISR allocates the 4157 * service routines. As a contongency measure, this ISR allocates the
@@ -4165,7 +4161,7 @@ static void s2io_txpic_intr_handle(nic_t *sp)
4165 * IRQ_HANDLED: will be returned if IRQ was handled by this routine 4161 * IRQ_HANDLED: will be returned if IRQ was handled by this routine
4166 * IRQ_NONE: will be returned if interrupt is not from our device 4162 * IRQ_NONE: will be returned if interrupt is not from our device
4167 */ 4163 */
4168static irqreturn_t s2io_isr(int irq, void *dev_id, struct pt_regs *regs) 4164static irqreturn_t s2io_isr(int irq, void *dev_id)
4169{ 4165{
4170 struct net_device *dev = (struct net_device *) dev_id; 4166 struct net_device *dev = (struct net_device *) dev_id;
4171 nic_t *sp = dev->priv; 4167 nic_t *sp = dev->priv;
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h
index 3afd9126a591..72f52dc98f53 100644
--- a/drivers/net/s2io.h
+++ b/drivers/net/s2io.h
@@ -992,12 +992,12 @@ static void s2io_init_pci(nic_t * sp);
992static int s2io_set_mac_addr(struct net_device *dev, u8 * addr); 992static int s2io_set_mac_addr(struct net_device *dev, u8 * addr);
993static void s2io_alarm_handle(unsigned long data); 993static void s2io_alarm_handle(unsigned long data);
994static int s2io_enable_msi(nic_t *nic); 994static int s2io_enable_msi(nic_t *nic);
995static irqreturn_t s2io_msi_handle(int irq, void *dev_id, struct pt_regs *regs); 995static irqreturn_t s2io_msi_handle(int irq, void *dev_id);
996static irqreturn_t 996static irqreturn_t
997s2io_msix_ring_handle(int irq, void *dev_id, struct pt_regs *regs); 997s2io_msix_ring_handle(int irq, void *dev_id);
998static irqreturn_t 998static irqreturn_t
999s2io_msix_fifo_handle(int irq, void *dev_id, struct pt_regs *regs); 999s2io_msix_fifo_handle(int irq, void *dev_id);
1000static irqreturn_t s2io_isr(int irq, void *dev_id, struct pt_regs *regs); 1000static irqreturn_t s2io_isr(int irq, void *dev_id);
1001static int verify_xena_quiescence(nic_t *sp, u64 val64, int flag); 1001static int verify_xena_quiescence(nic_t *sp, u64 val64, int flag);
1002static const struct ethtool_ops netdev_ethtool_ops; 1002static const struct ethtool_ops netdev_ethtool_ops;
1003static void s2io_set_link(unsigned long data); 1003static void s2io_set_link(unsigned long data);
diff --git a/drivers/net/saa9730.c b/drivers/net/saa9730.c
index c479b07be788..c9efad8a917e 100644
--- a/drivers/net/saa9730.c
+++ b/drivers/net/saa9730.c
@@ -745,8 +745,7 @@ static int lan_saa9730_rx(struct net_device *dev)
745 return 0; 745 return 0;
746} 746}
747 747
748static irqreturn_t lan_saa9730_interrupt(const int irq, void *dev_id, 748static irqreturn_t lan_saa9730_interrupt(const int irq, void *dev_id)
749 struct pt_regs *regs)
750{ 749{
751 struct net_device *dev = (struct net_device *) dev_id; 750 struct net_device *dev = (struct net_device *) dev_id;
752 struct lan_saa9730_private *lp = netdev_priv(dev); 751 struct lan_saa9730_private *lp = netdev_priv(dev);
diff --git a/drivers/net/sb1000.c b/drivers/net/sb1000.c
index a1789ae59278..dc30dee5537f 100644
--- a/drivers/net/sb1000.c
+++ b/drivers/net/sb1000.c
@@ -84,7 +84,7 @@ extern int sb1000_probe(struct net_device *dev);
84static int sb1000_open(struct net_device *dev); 84static int sb1000_open(struct net_device *dev);
85static int sb1000_dev_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd); 85static int sb1000_dev_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd);
86static int sb1000_start_xmit(struct sk_buff *skb, struct net_device *dev); 86static int sb1000_start_xmit(struct sk_buff *skb, struct net_device *dev);
87static irqreturn_t sb1000_interrupt(int irq, void *dev_id, struct pt_regs *regs); 87static irqreturn_t sb1000_interrupt(int irq, void *dev_id);
88static struct net_device_stats *sb1000_stats(struct net_device *dev); 88static struct net_device_stats *sb1000_stats(struct net_device *dev);
89static int sb1000_close(struct net_device *dev); 89static int sb1000_close(struct net_device *dev);
90 90
@@ -1079,7 +1079,7 @@ sb1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
1079} 1079}
1080 1080
1081/* SB1000 interrupt handler. */ 1081/* SB1000 interrupt handler. */
1082static irqreturn_t sb1000_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1082static irqreturn_t sb1000_interrupt(int irq, void *dev_id)
1083{ 1083{
1084 char *name; 1084 char *name;
1085 unsigned char st; 1085 unsigned char st;
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index e4c8896b76cb..db2324939b69 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -294,7 +294,7 @@ static void sbmac_channel_stop(struct sbmac_softc *s);
294static sbmac_state_t sbmac_set_channel_state(struct sbmac_softc *,sbmac_state_t); 294static sbmac_state_t sbmac_set_channel_state(struct sbmac_softc *,sbmac_state_t);
295static void sbmac_promiscuous_mode(struct sbmac_softc *sc,int onoff); 295static void sbmac_promiscuous_mode(struct sbmac_softc *sc,int onoff);
296static uint64_t sbmac_addr2reg(unsigned char *ptr); 296static uint64_t sbmac_addr2reg(unsigned char *ptr);
297static irqreturn_t sbmac_intr(int irq,void *dev_instance,struct pt_regs *rgs); 297static irqreturn_t sbmac_intr(int irq,void *dev_instance);
298static int sbmac_start_tx(struct sk_buff *skb, struct net_device *dev); 298static int sbmac_start_tx(struct sk_buff *skb, struct net_device *dev);
299static void sbmac_setmulti(struct sbmac_softc *sc); 299static void sbmac_setmulti(struct sbmac_softc *sc);
300static int sbmac_init(struct net_device *dev, int idx); 300static int sbmac_init(struct net_device *dev, int idx);
@@ -2049,7 +2049,7 @@ static int sbmac_set_duplex(struct sbmac_softc *s,sbmac_duplex_t duplex,sbmac_fc
2049 * Return value: 2049 * Return value:
2050 * nothing 2050 * nothing
2051 ********************************************************************* */ 2051 ********************************************************************* */
2052static irqreturn_t sbmac_intr(int irq,void *dev_instance,struct pt_regs *rgs) 2052static irqreturn_t sbmac_intr(int irq,void *dev_instance)
2053{ 2053{
2054 struct net_device *dev = (struct net_device *) dev_instance; 2054 struct net_device *dev = (struct net_device *) dev_instance;
2055 struct sbmac_softc *sc = netdev_priv(dev); 2055 struct sbmac_softc *sc = netdev_priv(dev);
diff --git a/drivers/net/seeq8005.c b/drivers/net/seeq8005.c
index 20afdc7f2b97..d9d0a3a3c558 100644
--- a/drivers/net/seeq8005.c
+++ b/drivers/net/seeq8005.c
@@ -83,7 +83,7 @@ static int seeq8005_probe1(struct net_device *dev, int ioaddr);
83static int seeq8005_open(struct net_device *dev); 83static int seeq8005_open(struct net_device *dev);
84static void seeq8005_timeout(struct net_device *dev); 84static void seeq8005_timeout(struct net_device *dev);
85static int seeq8005_send_packet(struct sk_buff *skb, struct net_device *dev); 85static int seeq8005_send_packet(struct sk_buff *skb, struct net_device *dev);
86static irqreturn_t seeq8005_interrupt(int irq, void *dev_id, struct pt_regs *regs); 86static irqreturn_t seeq8005_interrupt(int irq, void *dev_id);
87static void seeq8005_rx(struct net_device *dev); 87static void seeq8005_rx(struct net_device *dev);
88static int seeq8005_close(struct net_device *dev); 88static int seeq8005_close(struct net_device *dev);
89static struct net_device_stats *seeq8005_get_stats(struct net_device *dev); 89static struct net_device_stats *seeq8005_get_stats(struct net_device *dev);
@@ -437,7 +437,7 @@ inline void wait_for_buffer(struct net_device * dev)
437 437
438/* The typical workload of the driver: 438/* The typical workload of the driver:
439 Handle the network interface interrupts. */ 439 Handle the network interface interrupts. */
440static irqreturn_t seeq8005_interrupt(int irq, void *dev_id, struct pt_regs * regs) 440static irqreturn_t seeq8005_interrupt(int irq, void *dev_id)
441{ 441{
442 struct net_device *dev = dev_id; 442 struct net_device *dev = dev_id;
443 struct net_local *lp; 443 struct net_local *lp;
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index f95a5b0223fb..a833e7f9757f 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -432,7 +432,7 @@ static inline void sgiseeq_tx(struct net_device *dev, struct sgiseeq_private *sp
432 } 432 }
433} 433}
434 434
435static irqreturn_t sgiseeq_interrupt(int irq, void *dev_id, struct pt_regs *regs) 435static irqreturn_t sgiseeq_interrupt(int irq, void *dev_id)
436{ 436{
437 struct net_device *dev = (struct net_device *) dev_id; 437 struct net_device *dev = (struct net_device *) dev_id;
438 struct sgiseeq_private *sp = netdev_priv(dev); 438 struct sgiseeq_private *sp = netdev_priv(dev);
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index e8f26b79bbaf..aaba458584fb 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -713,7 +713,7 @@ static void sis190_tx_interrupt(struct net_device *dev,
713 * The interrupt handler does all of the Rx thread work and cleans up after 713 * The interrupt handler does all of the Rx thread work and cleans up after
714 * the Tx thread. 714 * the Tx thread.
715 */ 715 */
716static irqreturn_t sis190_interrupt(int irq, void *__dev, struct pt_regs *regs) 716static irqreturn_t sis190_interrupt(int irq, void *__dev)
717{ 717{
718 struct net_device *dev = __dev; 718 struct net_device *dev = __dev;
719 struct sis190_private *tp = netdev_priv(dev); 719 struct sis190_private *tp = netdev_priv(dev);
@@ -758,7 +758,7 @@ static void sis190_netpoll(struct net_device *dev)
758 struct pci_dev *pdev = tp->pci_dev; 758 struct pci_dev *pdev = tp->pci_dev;
759 759
760 disable_irq(pdev->irq); 760 disable_irq(pdev->irq);
761 sis190_interrupt(pdev->irq, dev, NULL); 761 sis190_interrupt(pdev->irq, dev);
762 enable_irq(pdev->irq); 762 enable_irq(pdev->irq);
763} 763}
764#endif 764#endif
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index 28606e20df1c..fb2b53051635 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -218,7 +218,7 @@ static void sis900_init_rx_ring(struct net_device *net_dev);
218static int sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev); 218static int sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev);
219static int sis900_rx(struct net_device *net_dev); 219static int sis900_rx(struct net_device *net_dev);
220static void sis900_finish_xmit (struct net_device *net_dev); 220static void sis900_finish_xmit (struct net_device *net_dev);
221static irqreturn_t sis900_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 221static irqreturn_t sis900_interrupt(int irq, void *dev_instance);
222static int sis900_close(struct net_device *net_dev); 222static int sis900_close(struct net_device *net_dev);
223static int mii_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd); 223static int mii_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd);
224static struct net_device_stats *sis900_get_stats(struct net_device *net_dev); 224static struct net_device_stats *sis900_get_stats(struct net_device *net_dev);
@@ -988,7 +988,7 @@ static u16 sis900_reset_phy(struct net_device *net_dev, int phy_addr)
988static void sis900_poll(struct net_device *dev) 988static void sis900_poll(struct net_device *dev)
989{ 989{
990 disable_irq(dev->irq); 990 disable_irq(dev->irq);
991 sis900_interrupt(dev->irq, dev, NULL); 991 sis900_interrupt(dev->irq, dev);
992 enable_irq(dev->irq); 992 enable_irq(dev->irq);
993} 993}
994#endif 994#endif
@@ -1642,7 +1642,7 @@ sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
1642 * and cleans up after the Tx thread 1642 * and cleans up after the Tx thread
1643 */ 1643 */
1644 1644
1645static irqreturn_t sis900_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 1645static irqreturn_t sis900_interrupt(int irq, void *dev_instance)
1646{ 1646{
1647 struct net_device *net_dev = dev_instance; 1647 struct net_device *net_dev = dev_instance;
1648 struct sis900_private *sis_priv = net_dev->priv; 1648 struct sis900_private *sis_priv = net_dev->priv;
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index 99e92627642c..d4913c3de2a1 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -196,8 +196,8 @@ static SK_BOOL BoardAllocMem(SK_AC *pAC);
196static void BoardFreeMem(SK_AC *pAC); 196static void BoardFreeMem(SK_AC *pAC);
197static void BoardInitMem(SK_AC *pAC); 197static void BoardInitMem(SK_AC *pAC);
198static void SetupRing(SK_AC*, void*, uintptr_t, RXD**, RXD**, RXD**, int*, SK_BOOL); 198static void SetupRing(SK_AC*, void*, uintptr_t, RXD**, RXD**, RXD**, int*, SK_BOOL);
199static SkIsrRetVar SkGeIsr(int irq, void *dev_id, struct pt_regs *ptregs); 199static SkIsrRetVar SkGeIsr(int irq, void *dev_id);
200static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id, struct pt_regs *ptregs); 200static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id);
201static int SkGeOpen(struct SK_NET_DEVICE *dev); 201static int SkGeOpen(struct SK_NET_DEVICE *dev);
202static int SkGeClose(struct SK_NET_DEVICE *dev); 202static int SkGeClose(struct SK_NET_DEVICE *dev);
203static int SkGeXmit(struct sk_buff *skb, struct SK_NET_DEVICE *dev); 203static int SkGeXmit(struct sk_buff *skb, struct SK_NET_DEVICE *dev);
@@ -880,7 +880,7 @@ int PortIndex) /* index of the port for which to re-init */
880 * Returns: N/A 880 * Returns: N/A
881 * 881 *
882 */ 882 */
883static SkIsrRetVar SkGeIsr(int irq, void *dev_id, struct pt_regs *ptregs) 883static SkIsrRetVar SkGeIsr(int irq, void *dev_id)
884{ 884{
885struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id; 885struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id;
886DEV_NET *pNet; 886DEV_NET *pNet;
@@ -1029,7 +1029,7 @@ SK_U32 IntSrc; /* interrupts source register contents */
1029 * Returns: N/A 1029 * Returns: N/A
1030 * 1030 *
1031 */ 1031 */
1032static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id, struct pt_regs *ptregs) 1032static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id)
1033{ 1033{
1034struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id; 1034struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id;
1035DEV_NET *pNet; 1035DEV_NET *pNet;
@@ -1140,7 +1140,7 @@ SK_U32 IntSrc; /* interrupts source register contents */
1140static void SkGePollController(struct net_device *dev) 1140static void SkGePollController(struct net_device *dev)
1141{ 1141{
1142 disable_irq(dev->irq); 1142 disable_irq(dev->irq);
1143 SkGeIsr(dev->irq, dev, NULL); 1143 SkGeIsr(dev->irq, dev);
1144 enable_irq(dev->irq); 1144 enable_irq(dev->irq);
1145} 1145}
1146#endif 1146#endif
diff --git a/drivers/net/sk_mca.c b/drivers/net/sk_mca.c
index 37b88da1abe5..96e06c51b75d 100644
--- a/drivers/net/sk_mca.c
+++ b/drivers/net/sk_mca.c
@@ -732,7 +732,7 @@ static u16 irqtx_handler(struct net_device *dev, u16 oldcsr0)
732 732
733/* general interrupt entry */ 733/* general interrupt entry */
734 734
735static irqreturn_t irq_handler(int irq, void *device, struct pt_regs *regs) 735static irqreturn_t irq_handler(int irq, void *device)
736{ 736{
737 struct net_device *dev = (struct net_device *) device; 737 struct net_device *dev = (struct net_device *) device;
738 u16 csr0val; 738 u16 csr0val;
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c
index 8e4d18440a56..06ea2626c6f4 100644
--- a/drivers/net/skfp/skfddi.c
+++ b/drivers/net/skfp/skfddi.c
@@ -101,7 +101,7 @@ static const char * const boot_msg =
101static int skfp_driver_init(struct net_device *dev); 101static int skfp_driver_init(struct net_device *dev);
102static int skfp_open(struct net_device *dev); 102static int skfp_open(struct net_device *dev);
103static int skfp_close(struct net_device *dev); 103static int skfp_close(struct net_device *dev);
104static irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs); 104static irqreturn_t skfp_interrupt(int irq, void *dev_id);
105static struct net_device_stats *skfp_ctl_get_stats(struct net_device *dev); 105static struct net_device_stats *skfp_ctl_get_stats(struct net_device *dev);
106static void skfp_ctl_set_multicast_list(struct net_device *dev); 106static void skfp_ctl_set_multicast_list(struct net_device *dev);
107static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev); 107static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev);
@@ -593,7 +593,6 @@ static int skfp_close(struct net_device *dev)
593 * Arguments: 593 * Arguments:
594 * irq - interrupt vector 594 * irq - interrupt vector
595 * dev_id - pointer to device information 595 * dev_id - pointer to device information
596 * regs - pointer to registers structure
597 * 596 *
598 * Functional Description: 597 * Functional Description:
599 * This routine calls the interrupt processing routine for this adapter. It 598 * This routine calls the interrupt processing routine for this adapter. It
@@ -615,7 +614,7 @@ static int skfp_close(struct net_device *dev)
615 * Interrupts are disabled, then reenabled at the adapter. 614 * Interrupts are disabled, then reenabled at the adapter.
616 */ 615 */
617 616
618irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs) 617irqreturn_t skfp_interrupt(int irq, void *dev_id)
619{ 618{
620 struct net_device *dev = (struct net_device *) dev_id; 619 struct net_device *dev = (struct net_device *) dev_id;
621 struct s_smc *smc; /* private board structure pointer */ 620 struct s_smc *smc; /* private board structure pointer */
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 705e9a8fa30f..a4a58e4e93a1 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -3051,7 +3051,7 @@ static void skge_extirq(void *arg)
3051 spin_unlock_irq(&hw->hw_lock); 3051 spin_unlock_irq(&hw->hw_lock);
3052} 3052}
3053 3053
3054static irqreturn_t skge_intr(int irq, void *dev_id, struct pt_regs *regs) 3054static irqreturn_t skge_intr(int irq, void *dev_id)
3055{ 3055{
3056 struct skge_hw *hw = dev_id; 3056 struct skge_hw *hw = dev_id;
3057 u32 status; 3057 u32 status;
@@ -3125,7 +3125,7 @@ static void skge_netpoll(struct net_device *dev)
3125 struct skge_port *skge = netdev_priv(dev); 3125 struct skge_port *skge = netdev_priv(dev);
3126 3126
3127 disable_irq(dev->irq); 3127 disable_irq(dev->irq);
3128 skge_intr(dev->irq, skge->hw, NULL); 3128 skge_intr(dev->irq, skge->hw);
3129 enable_irq(dev->irq); 3129 enable_irq(dev->irq);
3130} 3130}
3131#endif 3131#endif
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 396e7df3c61b..459c845d6648 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -2364,7 +2364,7 @@ static int sky2_poll(struct net_device *dev0, int *budget)
2364 } 2364 }
2365} 2365}
2366 2366
2367static irqreturn_t sky2_intr(int irq, void *dev_id, struct pt_regs *regs) 2367static irqreturn_t sky2_intr(int irq, void *dev_id)
2368{ 2368{
2369 struct sky2_hw *hw = dev_id; 2369 struct sky2_hw *hw = dev_id;
2370 struct net_device *dev0 = hw->dev[0]; 2370 struct net_device *dev0 = hw->dev[0];
@@ -3298,8 +3298,7 @@ static void __devinit sky2_show_addr(struct net_device *dev)
3298} 3298}
3299 3299
3300/* Handle software interrupt used during MSI test */ 3300/* Handle software interrupt used during MSI test */
3301static irqreturn_t __devinit sky2_test_intr(int irq, void *dev_id, 3301static irqreturn_t __devinit sky2_test_intr(int irq, void *dev_id)
3302 struct pt_regs *regs)
3303{ 3302{
3304 struct sky2_hw *hw = dev_id; 3303 struct sky2_hw *hw = dev_id;
3305 u32 status = sky2_read32(hw, B0_Y2_SP_ISRC2); 3304 u32 status = sky2_read32(hw, B0_Y2_SP_ISRC2);
diff --git a/drivers/net/smc-ultra.c b/drivers/net/smc-ultra.c
index 7986514883ac..889ef0d7c374 100644
--- a/drivers/net/smc-ultra.c
+++ b/drivers/net/smc-ultra.c
@@ -127,7 +127,7 @@ MODULE_DEVICE_TABLE(isapnp, ultra_device_ids);
127static void ultra_poll(struct net_device *dev) 127static void ultra_poll(struct net_device *dev)
128{ 128{
129 disable_irq(dev->irq); 129 disable_irq(dev->irq);
130 ei_interrupt(dev->irq, dev, NULL); 130 ei_interrupt(dev->irq, dev);
131 enable_irq(dev->irq); 131 enable_irq(dev->irq);
132} 132}
133#endif 133#endif
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index a621b17456e5..2c4343395a4d 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -1074,7 +1074,7 @@ static void smc911x_phy_interrupt(struct net_device *dev)
1074 * This is the main routine of the driver, to handle the device when 1074 * This is the main routine of the driver, to handle the device when
1075 * it needs some attention. 1075 * it needs some attention.
1076 */ 1076 */
1077static irqreturn_t smc911x_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1077static irqreturn_t smc911x_interrupt(int irq, void *dev_id)
1078{ 1078{
1079 struct net_device *dev = dev_id; 1079 struct net_device *dev = dev_id;
1080 unsigned long ioaddr = dev->base_addr; 1080 unsigned long ioaddr = dev->base_addr;
@@ -1251,7 +1251,7 @@ static irqreturn_t smc911x_interrupt(int irq, void *dev_id, struct pt_regs *regs
1251 1251
1252#ifdef SMC_USE_DMA 1252#ifdef SMC_USE_DMA
1253static void 1253static void
1254smc911x_tx_dma_irq(int dma, void *data, struct pt_regs *regs) 1254smc911x_tx_dma_irq(int dma, void *data)
1255{ 1255{
1256 struct net_device *dev = (struct net_device *)data; 1256 struct net_device *dev = (struct net_device *)data;
1257 struct smc911x_local *lp = netdev_priv(dev); 1257 struct smc911x_local *lp = netdev_priv(dev);
@@ -1285,7 +1285,7 @@ smc911x_tx_dma_irq(int dma, void *data, struct pt_regs *regs)
1285 "%s: TX DMA irq completed\n", dev->name); 1285 "%s: TX DMA irq completed\n", dev->name);
1286} 1286}
1287static void 1287static void
1288smc911x_rx_dma_irq(int dma, void *data, struct pt_regs *regs) 1288smc911x_rx_dma_irq(int dma, void *data)
1289{ 1289{
1290 struct net_device *dev = (struct net_device *)data; 1290 struct net_device *dev = (struct net_device *)data;
1291 unsigned long ioaddr = dev->base_addr; 1291 unsigned long ioaddr = dev->base_addr;
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c
index 5506a0d3efe2..c0d13d650913 100644
--- a/drivers/net/smc9194.c
+++ b/drivers/net/smc9194.c
@@ -270,7 +270,7 @@ static void smc_set_multicast_list(struct net_device *dev);
270/* 270/*
271 . Handles the actual interrupt 271 . Handles the actual interrupt
272*/ 272*/
273static irqreturn_t smc_interrupt(int irq, void *, struct pt_regs *regs); 273static irqreturn_t smc_interrupt(int irq, void *);
274/* 274/*
275 . This is a separate procedure to handle the receipt of a packet, to 275 . This is a separate procedure to handle the receipt of a packet, to
276 . leave the interrupt code looking slightly cleaner 276 . leave the interrupt code looking slightly cleaner
@@ -1391,7 +1391,7 @@ static void smc_tx( struct net_device * dev )
1391 . 1391 .
1392 ---------------------------------------------------------------------*/ 1392 ---------------------------------------------------------------------*/
1393 1393
1394static irqreturn_t smc_interrupt(int irq, void * dev_id, struct pt_regs * regs) 1394static irqreturn_t smc_interrupt(int irq, void * dev_id)
1395{ 1395{
1396 struct net_device *dev = dev_id; 1396 struct net_device *dev = dev_id;
1397 int ioaddr = dev->base_addr; 1397 int ioaddr = dev->base_addr;
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index d7e56438b5d6..506807fa5268 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -1284,7 +1284,7 @@ static void smc_eph_interrupt(struct net_device *dev)
1284 * This is the main routine of the driver, to handle the device when 1284 * This is the main routine of the driver, to handle the device when
1285 * it needs some attention. 1285 * it needs some attention.
1286 */ 1286 */
1287static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1287static irqreturn_t smc_interrupt(int irq, void *dev_id)
1288{ 1288{
1289 struct net_device *dev = dev_id; 1289 struct net_device *dev = dev_id;
1290 struct smc_local *lp = netdev_priv(dev); 1290 struct smc_local *lp = netdev_priv(dev);
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
index fedd1a37bc3e..636dbfcdf8cb 100644
--- a/drivers/net/smc91x.h
+++ b/drivers/net/smc91x.h
@@ -507,7 +507,7 @@ smc_pxa_dma_insw(void __iomem *ioaddr, u_long physaddr, int reg, int dma,
507#endif 507#endif
508 508
509static void 509static void
510smc_pxa_dma_irq(int dma, void *dummy, struct pt_regs *regs) 510smc_pxa_dma_irq(int dma, void *dummy)
511{ 511{
512 DCSR(dma) = 0; 512 DCSR(dma) = 0;
513} 513}
diff --git a/drivers/net/sonic.c b/drivers/net/sonic.c
index 870cf6b07389..cfece9676aff 100644
--- a/drivers/net/sonic.c
+++ b/drivers/net/sonic.c
@@ -293,7 +293,7 @@ static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev)
293 * The typical workload of the driver: 293 * The typical workload of the driver:
294 * Handle the network interface interrupts. 294 * Handle the network interface interrupts.
295 */ 295 */
296static irqreturn_t sonic_interrupt(int irq, void *dev_id, struct pt_regs *regs) 296static irqreturn_t sonic_interrupt(int irq, void *dev_id)
297{ 297{
298 struct net_device *dev = (struct net_device *) dev_id; 298 struct net_device *dev = (struct net_device *) dev_id;
299 struct sonic_local *lp = netdev_priv(dev); 299 struct sonic_local *lp = netdev_priv(dev);
diff --git a/drivers/net/sonic.h b/drivers/net/sonic.h
index 7f886e8ae28f..7db13e4a7ea5 100644
--- a/drivers/net/sonic.h
+++ b/drivers/net/sonic.h
@@ -328,7 +328,7 @@ struct sonic_local {
328 328
329static int sonic_open(struct net_device *dev); 329static int sonic_open(struct net_device *dev);
330static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev); 330static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev);
331static irqreturn_t sonic_interrupt(int irq, void *dev_id, struct pt_regs *regs); 331static irqreturn_t sonic_interrupt(int irq, void *dev_id);
332static void sonic_rx(struct net_device *dev); 332static void sonic_rx(struct net_device *dev);
333static int sonic_close(struct net_device *dev); 333static int sonic_close(struct net_device *dev);
334static struct net_device_stats *sonic_get_stats(struct net_device *dev); 334static struct net_device_stats *sonic_get_stats(struct net_device *dev);
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index 1397fc55cf68..46a009085f7c 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1445,7 +1445,7 @@ spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg)
1445 * interrupts for this device and makes the stack poll the driver 1445 * interrupts for this device and makes the stack poll the driver
1446 */ 1446 */
1447static irqreturn_t 1447static irqreturn_t
1448spider_net_interrupt(int irq, void *ptr, struct pt_regs *regs) 1448spider_net_interrupt(int irq, void *ptr)
1449{ 1449{
1450 struct net_device *netdev = ptr; 1450 struct net_device *netdev = ptr;
1451 struct spider_net_card *card = netdev_priv(netdev); 1451 struct spider_net_card *card = netdev_priv(netdev);
@@ -1481,7 +1481,7 @@ static void
1481spider_net_poll_controller(struct net_device *netdev) 1481spider_net_poll_controller(struct net_device *netdev)
1482{ 1482{
1483 disable_irq(netdev->irq); 1483 disable_irq(netdev->irq);
1484 spider_net_interrupt(netdev->irq, netdev, NULL); 1484 spider_net_interrupt(netdev->irq, netdev);
1485 enable_irq(netdev->irq); 1485 enable_irq(netdev->irq);
1486} 1486}
1487#endif /* CONFIG_NET_POLL_CONTROLLER */ 1487#endif /* CONFIG_NET_POLL_CONTROLLER */
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c
index 3d617e8f54b5..7a0aee6c869d 100644
--- a/drivers/net/starfire.c
+++ b/drivers/net/starfire.c
@@ -632,7 +632,7 @@ static void check_duplex(struct net_device *dev);
632static void tx_timeout(struct net_device *dev); 632static void tx_timeout(struct net_device *dev);
633static void init_ring(struct net_device *dev); 633static void init_ring(struct net_device *dev);
634static int start_tx(struct sk_buff *skb, struct net_device *dev); 634static int start_tx(struct sk_buff *skb, struct net_device *dev);
635static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *regs); 635static irqreturn_t intr_handler(int irq, void *dev_instance);
636static void netdev_error(struct net_device *dev, int intr_status); 636static void netdev_error(struct net_device *dev, int intr_status);
637static int __netdev_rx(struct net_device *dev, int *quota); 637static int __netdev_rx(struct net_device *dev, int *quota);
638static void refill_rx_ring(struct net_device *dev); 638static void refill_rx_ring(struct net_device *dev);
@@ -1307,7 +1307,7 @@ static int start_tx(struct sk_buff *skb, struct net_device *dev)
1307 1307
1308/* The interrupt handler does all of the Rx thread work and cleans up 1308/* The interrupt handler does all of the Rx thread work and cleans up
1309 after the Tx thread. */ 1309 after the Tx thread. */
1310static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *rgs) 1310static irqreturn_t intr_handler(int irq, void *dev_instance)
1311{ 1311{
1312 struct net_device *dev = dev_instance; 1312 struct net_device *dev = dev_instance;
1313 struct netdev_private *np = netdev_priv(dev); 1313 struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c
index 0605461bc56d..d1d1885b0295 100644
--- a/drivers/net/sun3_82586.c
+++ b/drivers/net/sun3_82586.c
@@ -122,7 +122,7 @@ sizeof(nop_cmd) = 8;
122 DELAY_16(); DELAY_16(); } } 122 DELAY_16(); DELAY_16(); } }
123 123
124static int sun3_82586_probe1(struct net_device *dev,int ioaddr); 124static int sun3_82586_probe1(struct net_device *dev,int ioaddr);
125static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id,struct pt_regs *reg_ptr); 125static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id);
126static int sun3_82586_open(struct net_device *dev); 126static int sun3_82586_open(struct net_device *dev);
127static int sun3_82586_close(struct net_device *dev); 127static int sun3_82586_close(struct net_device *dev);
128static int sun3_82586_send_packet(struct sk_buff *,struct net_device *); 128static int sun3_82586_send_packet(struct sk_buff *,struct net_device *);
@@ -678,7 +678,7 @@ static void *alloc_rfa(struct net_device *dev,void *ptr)
678 * Interrupt Handler ... 678 * Interrupt Handler ...
679 */ 679 */
680 680
681static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id,struct pt_regs *reg_ptr) 681static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id)
682{ 682{
683 struct net_device *dev = dev_id; 683 struct net_device *dev = dev_id;
684 unsigned short stat; 684 unsigned short stat;
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c
index 61a832ce7ccf..91c76544e4dd 100644
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -237,7 +237,7 @@ static int lance_probe( struct net_device *dev);
237static int lance_open( struct net_device *dev ); 237static int lance_open( struct net_device *dev );
238static void lance_init_ring( struct net_device *dev ); 238static void lance_init_ring( struct net_device *dev );
239static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev ); 239static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev );
240static irqreturn_t lance_interrupt( int irq, void *dev_id, struct pt_regs *fp ); 240static irqreturn_t lance_interrupt( int irq, void *dev_id);
241static int lance_rx( struct net_device *dev ); 241static int lance_rx( struct net_device *dev );
242static int lance_close( struct net_device *dev ); 242static int lance_close( struct net_device *dev );
243static struct net_device_stats *lance_get_stats( struct net_device *dev ); 243static struct net_device_stats *lance_get_stats( struct net_device *dev );
@@ -642,7 +642,7 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )
642 642
643/* The LANCE interrupt handler. */ 643/* The LANCE interrupt handler. */
644 644
645static irqreturn_t lance_interrupt( int irq, void *dev_id, struct pt_regs *fp) 645static irqreturn_t lance_interrupt( int irq, void *dev_id)
646{ 646{
647 struct net_device *dev = dev_id; 647 struct net_device *dev = dev_id;
648 struct lance_private *lp = netdev_priv(dev); 648 struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c
index 9e4be86495a0..6439b0cef1e4 100644
--- a/drivers/net/sunbmac.c
+++ b/drivers/net/sunbmac.c
@@ -888,7 +888,7 @@ static void bigmac_rx(struct bigmac *bp)
888 printk(KERN_NOTICE "%s: Memory squeeze, deferring packet.\n", bp->dev->name); 888 printk(KERN_NOTICE "%s: Memory squeeze, deferring packet.\n", bp->dev->name);
889} 889}
890 890
891static irqreturn_t bigmac_interrupt(int irq, void *dev_id, struct pt_regs *regs) 891static irqreturn_t bigmac_interrupt(int irq, void *dev_id)
892{ 892{
893 struct bigmac *bp = (struct bigmac *) dev_id; 893 struct bigmac *bp = (struct bigmac *) dev_id;
894 u32 qec_status, bmac_status; 894 u32 qec_status, bmac_status;
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 6b8f4baf87fd..41c503d8bac4 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -420,7 +420,7 @@ static void tx_timeout(struct net_device *dev);
420static void init_ring(struct net_device *dev); 420static void init_ring(struct net_device *dev);
421static int start_tx(struct sk_buff *skb, struct net_device *dev); 421static int start_tx(struct sk_buff *skb, struct net_device *dev);
422static int reset_tx (struct net_device *dev); 422static int reset_tx (struct net_device *dev);
423static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *regs); 423static irqreturn_t intr_handler(int irq, void *dev_instance);
424static void rx_poll(unsigned long data); 424static void rx_poll(unsigned long data);
425static void tx_poll(unsigned long data); 425static void tx_poll(unsigned long data);
426static void refill_rx (struct net_device *dev); 426static void refill_rx (struct net_device *dev);
@@ -1102,7 +1102,7 @@ reset_tx (struct net_device *dev)
1102 1102
1103/* The interrupt handler cleans up after the Tx thread, 1103/* The interrupt handler cleans up after the Tx thread,
1104 and schedule a Rx thread work */ 1104 and schedule a Rx thread work */
1105static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *rgs) 1105static irqreturn_t intr_handler(int irq, void *dev_instance)
1106{ 1106{
1107 struct net_device *dev = (struct net_device *)dev_instance; 1107 struct net_device *dev = (struct net_device *)dev_instance;
1108 struct netdev_private *np = netdev_priv(dev); 1108 struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 0975695ae31b..253e96e7ad20 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -932,7 +932,7 @@ static int gem_poll(struct net_device *dev, int *budget)
932 return 0; 932 return 0;
933} 933}
934 934
935static irqreturn_t gem_interrupt(int irq, void *dev_id, struct pt_regs *regs) 935static irqreturn_t gem_interrupt(int irq, void *dev_id)
936{ 936{
937 struct net_device *dev = dev_id; 937 struct net_device *dev = dev_id;
938 struct gem *gp = dev->priv; 938 struct gem *gp = dev->priv;
@@ -975,7 +975,7 @@ static void gem_poll_controller(struct net_device *dev)
975 /* gem_interrupt is safe to reentrance so no need 975 /* gem_interrupt is safe to reentrance so no need
976 * to disable_irq here. 976 * to disable_irq here.
977 */ 977 */
978 gem_interrupt(dev->irq, dev, NULL); 978 gem_interrupt(dev->irq, dev);
979} 979}
980#endif 980#endif
981 981
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index f05eea53623b..45d07faf7b96 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2093,7 +2093,7 @@ static void happy_meal_rx(struct happy_meal *hp, struct net_device *dev)
2093 RXD((">")); 2093 RXD((">"));
2094} 2094}
2095 2095
2096static irqreturn_t happy_meal_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2096static irqreturn_t happy_meal_interrupt(int irq, void *dev_id)
2097{ 2097{
2098 struct net_device *dev = (struct net_device *) dev_id; 2098 struct net_device *dev = (struct net_device *) dev_id;
2099 struct happy_meal *hp = dev->priv; 2099 struct happy_meal *hp = dev->priv;
@@ -2132,7 +2132,7 @@ out:
2132} 2132}
2133 2133
2134#ifdef CONFIG_SBUS 2134#ifdef CONFIG_SBUS
2135static irqreturn_t quattro_sbus_interrupt(int irq, void *cookie, struct pt_regs *ptregs) 2135static irqreturn_t quattro_sbus_interrupt(int irq, void *cookie)
2136{ 2136{
2137 struct quattro *qp = (struct quattro *) cookie; 2137 struct quattro *qp = (struct quattro *) cookie;
2138 int i; 2138 int i;
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index feb42db10ee1..9207e19cac34 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -820,7 +820,7 @@ out:
820 spin_unlock(&lp->lock); 820 spin_unlock(&lp->lock);
821} 821}
822 822
823static irqreturn_t lance_interrupt(int irq, void *dev_id, struct pt_regs *regs) 823static irqreturn_t lance_interrupt(int irq, void *dev_id)
824{ 824{
825 struct net_device *dev = (struct net_device *)dev_id; 825 struct net_device *dev = (struct net_device *)dev_id;
826 struct lance_private *lp = netdev_priv(dev); 826 struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c
index 9202a1c369dd..020e78170595 100644
--- a/drivers/net/sunqe.c
+++ b/drivers/net/sunqe.c
@@ -466,7 +466,7 @@ static void qe_tx_reclaim(struct sunqe *qep);
466 * so we just run through each qe and check to see who is signaling 466 * so we just run through each qe and check to see who is signaling
467 * and thus needs to be serviced. 467 * and thus needs to be serviced.
468 */ 468 */
469static irqreturn_t qec_interrupt(int irq, void *dev_id, struct pt_regs *regs) 469static irqreturn_t qec_interrupt(int irq, void *dev_id)
470{ 470{
471 struct sunqec *qecp = (struct sunqec *) dev_id; 471 struct sunqec *qecp = (struct sunqec *) dev_id;
472 u32 qec_status; 472 u32 qec_status;
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c
index 60f026509487..81ed82f0b520 100644
--- a/drivers/net/tc35815.c
+++ b/drivers/net/tc35815.c
@@ -453,7 +453,7 @@ static int __devinit tc35815_probe1(struct pci_dev *pdev, unsigned int base_addr
453static int tc35815_open(struct net_device *dev); 453static int tc35815_open(struct net_device *dev);
454static int tc35815_send_packet(struct sk_buff *skb, struct net_device *dev); 454static int tc35815_send_packet(struct sk_buff *skb, struct net_device *dev);
455static void tc35815_tx_timeout(struct net_device *dev); 455static void tc35815_tx_timeout(struct net_device *dev);
456static irqreturn_t tc35815_interrupt(int irq, void *dev_id, struct pt_regs *regs); 456static irqreturn_t tc35815_interrupt(int irq, void *dev_id);
457static void tc35815_rx(struct net_device *dev); 457static void tc35815_rx(struct net_device *dev);
458static void tc35815_txdone(struct net_device *dev); 458static void tc35815_txdone(struct net_device *dev);
459static int tc35815_close(struct net_device *dev); 459static int tc35815_close(struct net_device *dev);
@@ -1044,7 +1044,7 @@ static void tc35815_fatal_error_interrupt(struct net_device *dev, int status)
1044 * The typical workload of the driver: 1044 * The typical workload of the driver:
1045 * Handle the network interface interrupts. 1045 * Handle the network interface interrupts.
1046 */ 1046 */
1047static irqreturn_t tc35815_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1047static irqreturn_t tc35815_interrupt(int irq, void *dev_id)
1048{ 1048{
1049 struct net_device *dev = dev_id; 1049 struct net_device *dev = dev_id;
1050 struct tc35815_regs *tr; 1050 struct tc35815_regs *tr;
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index c25ba273b745..327836b1014e 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -3481,7 +3481,7 @@ static inline void tg3_full_unlock(struct tg3 *tp)
3481/* One-shot MSI handler - Chip automatically disables interrupt 3481/* One-shot MSI handler - Chip automatically disables interrupt
3482 * after sending MSI so driver doesn't have to do it. 3482 * after sending MSI so driver doesn't have to do it.
3483 */ 3483 */
3484static irqreturn_t tg3_msi_1shot(int irq, void *dev_id, struct pt_regs *regs) 3484static irqreturn_t tg3_msi_1shot(int irq, void *dev_id)
3485{ 3485{
3486 struct net_device *dev = dev_id; 3486 struct net_device *dev = dev_id;
3487 struct tg3 *tp = netdev_priv(dev); 3487 struct tg3 *tp = netdev_priv(dev);
@@ -3499,7 +3499,7 @@ static irqreturn_t tg3_msi_1shot(int irq, void *dev_id, struct pt_regs *regs)
3499 * flush status block and interrupt mailbox. PCI ordering rules 3499 * flush status block and interrupt mailbox. PCI ordering rules
3500 * guarantee that MSI will arrive after the status block. 3500 * guarantee that MSI will arrive after the status block.
3501 */ 3501 */
3502static irqreturn_t tg3_msi(int irq, void *dev_id, struct pt_regs *regs) 3502static irqreturn_t tg3_msi(int irq, void *dev_id)
3503{ 3503{
3504 struct net_device *dev = dev_id; 3504 struct net_device *dev = dev_id;
3505 struct tg3 *tp = netdev_priv(dev); 3505 struct tg3 *tp = netdev_priv(dev);
@@ -3520,7 +3520,7 @@ static irqreturn_t tg3_msi(int irq, void *dev_id, struct pt_regs *regs)
3520 return IRQ_RETVAL(1); 3520 return IRQ_RETVAL(1);
3521} 3521}
3522 3522
3523static irqreturn_t tg3_interrupt(int irq, void *dev_id, struct pt_regs *regs) 3523static irqreturn_t tg3_interrupt(int irq, void *dev_id)
3524{ 3524{
3525 struct net_device *dev = dev_id; 3525 struct net_device *dev = dev_id;
3526 struct tg3 *tp = netdev_priv(dev); 3526 struct tg3 *tp = netdev_priv(dev);
@@ -3563,7 +3563,7 @@ out:
3563 return IRQ_RETVAL(handled); 3563 return IRQ_RETVAL(handled);
3564} 3564}
3565 3565
3566static irqreturn_t tg3_interrupt_tagged(int irq, void *dev_id, struct pt_regs *regs) 3566static irqreturn_t tg3_interrupt_tagged(int irq, void *dev_id)
3567{ 3567{
3568 struct net_device *dev = dev_id; 3568 struct net_device *dev = dev_id;
3569 struct tg3 *tp = netdev_priv(dev); 3569 struct tg3 *tp = netdev_priv(dev);
@@ -3606,8 +3606,7 @@ out:
3606} 3606}
3607 3607
3608/* ISR for interrupt test */ 3608/* ISR for interrupt test */
3609static irqreturn_t tg3_test_isr(int irq, void *dev_id, 3609static irqreturn_t tg3_test_isr(int irq, void *dev_id)
3610 struct pt_regs *regs)
3611{ 3610{
3612 struct net_device *dev = dev_id; 3611 struct net_device *dev = dev_id;
3613 struct tg3 *tp = netdev_priv(dev); 3612 struct tg3 *tp = netdev_priv(dev);
@@ -3651,7 +3650,7 @@ static void tg3_poll_controller(struct net_device *dev)
3651{ 3650{
3652 struct tg3 *tp = netdev_priv(dev); 3651 struct tg3 *tp = netdev_priv(dev);
3653 3652
3654 tg3_interrupt(tp->pdev->irq, dev, NULL); 3653 tg3_interrupt(tp->pdev->irq, dev);
3655} 3654}
3656#endif 3655#endif
3657 3656
@@ -6838,7 +6837,7 @@ restart_timer:
6838 6837
6839static int tg3_request_irq(struct tg3 *tp) 6838static int tg3_request_irq(struct tg3 *tp)
6840{ 6839{
6841 irqreturn_t (*fn)(int, void *, struct pt_regs *); 6840 irq_handler_t fn;
6842 unsigned long flags; 6841 unsigned long flags;
6843 struct net_device *dev = tp->dev; 6842 struct net_device *dev = tp->dev;
6844 6843
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c
index 8d807bf603a0..e14f5a00f65a 100644
--- a/drivers/net/tlan.c
+++ b/drivers/net/tlan.c
@@ -289,7 +289,7 @@ static void TLan_Eisa_Cleanup( void );
289static int TLan_Init( struct net_device * ); 289static int TLan_Init( struct net_device * );
290static int TLan_Open( struct net_device *dev ); 290static int TLan_Open( struct net_device *dev );
291static int TLan_StartTx( struct sk_buff *, struct net_device *); 291static int TLan_StartTx( struct sk_buff *, struct net_device *);
292static irqreturn_t TLan_HandleInterrupt( int, void *, struct pt_regs *); 292static irqreturn_t TLan_HandleInterrupt( int, void *);
293static int TLan_Close( struct net_device *); 293static int TLan_Close( struct net_device *);
294static struct net_device_stats *TLan_GetStats( struct net_device *); 294static struct net_device_stats *TLan_GetStats( struct net_device *);
295static void TLan_SetMulticastList( struct net_device *); 295static void TLan_SetMulticastList( struct net_device *);
@@ -824,7 +824,7 @@ static void __init TLan_EisaProbe (void)
824static void TLan_Poll(struct net_device *dev) 824static void TLan_Poll(struct net_device *dev)
825{ 825{
826 disable_irq(dev->irq); 826 disable_irq(dev->irq);
827 TLan_HandleInterrupt(dev->irq, dev, NULL); 827 TLan_HandleInterrupt(dev->irq, dev);
828 enable_irq(dev->irq); 828 enable_irq(dev->irq);
829} 829}
830#endif 830#endif
@@ -1151,7 +1151,6 @@ static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev )
1151 * occurred. 1151 * occurred.
1152 * dev_id A pointer to the device assigned to 1152 * dev_id A pointer to the device assigned to
1153 * this irq line. 1153 * this irq line.
1154 * regs ???
1155 * 1154 *
1156 * This function handles an interrupt generated by its 1155 * This function handles an interrupt generated by its
1157 * assigned TLAN adapter. The function deactivates 1156 * assigned TLAN adapter. The function deactivates
@@ -1162,7 +1161,7 @@ static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev )
1162 * 1161 *
1163 **************************************************************/ 1162 **************************************************************/
1164 1163
1165static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *regs) 1164static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id)
1166{ 1165{
1167 u32 ack; 1166 u32 ack;
1168 struct net_device *dev; 1167 struct net_device *dev;
diff --git a/drivers/net/tokenring/3c359.c b/drivers/net/tokenring/3c359.c
index 412390ba142e..7580bdeacadc 100644
--- a/drivers/net/tokenring/3c359.c
+++ b/drivers/net/tokenring/3c359.c
@@ -130,7 +130,7 @@ static int xl_xmit(struct sk_buff *skb, struct net_device *dev);
130static void xl_dn_comp(struct net_device *dev); 130static void xl_dn_comp(struct net_device *dev);
131static int xl_close(struct net_device *dev); 131static int xl_close(struct net_device *dev);
132static void xl_set_rx_mode(struct net_device *dev); 132static void xl_set_rx_mode(struct net_device *dev);
133static irqreturn_t xl_interrupt(int irq, void *dev_id, struct pt_regs *regs); 133static irqreturn_t xl_interrupt(int irq, void *dev_id);
134static struct net_device_stats * xl_get_stats(struct net_device *dev); 134static struct net_device_stats * xl_get_stats(struct net_device *dev);
135static int xl_set_mac_address(struct net_device *dev, void *addr) ; 135static int xl_set_mac_address(struct net_device *dev, void *addr) ;
136static void xl_arb_cmd(struct net_device *dev); 136static void xl_arb_cmd(struct net_device *dev);
@@ -1042,7 +1042,7 @@ static void xl_freemem(struct net_device *dev)
1042 return ; 1042 return ;
1043} 1043}
1044 1044
1045static irqreturn_t xl_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1045static irqreturn_t xl_interrupt(int irq, void *dev_id)
1046{ 1046{
1047 struct net_device *dev = (struct net_device *)dev_id; 1047 struct net_device *dev = (struct net_device *)dev_id;
1048 struct xl_private *xl_priv =(struct xl_private *)dev->priv; 1048 struct xl_private *xl_priv =(struct xl_private *)dev->priv;
diff --git a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c
index 4470025ff7f8..bfe59865b1dd 100644
--- a/drivers/net/tokenring/ibmtr.c
+++ b/drivers/net/tokenring/ibmtr.c
@@ -197,7 +197,7 @@ static void open_sap(unsigned char type, struct net_device *dev);
197static void tok_set_multicast_list(struct net_device *dev); 197static void tok_set_multicast_list(struct net_device *dev);
198static int tok_send_packet(struct sk_buff *skb, struct net_device *dev); 198static int tok_send_packet(struct sk_buff *skb, struct net_device *dev);
199static int tok_close(struct net_device *dev); 199static int tok_close(struct net_device *dev);
200static irqreturn_t tok_interrupt(int irq, void *dev_id, struct pt_regs *regs); 200static irqreturn_t tok_interrupt(int irq, void *dev_id);
201static void initial_tok_int(struct net_device *dev); 201static void initial_tok_int(struct net_device *dev);
202static void tr_tx(struct net_device *dev); 202static void tr_tx(struct net_device *dev);
203static void tr_rx(struct net_device *dev); 203static void tr_rx(struct net_device *dev);
@@ -1166,7 +1166,7 @@ static void dir_open_adapter (struct net_device *dev)
1166 1166
1167/******************************************************************************/ 1167/******************************************************************************/
1168 1168
1169static irqreturn_t tok_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1169static irqreturn_t tok_interrupt(int irq, void *dev_id)
1170{ 1170{
1171 unsigned char status; 1171 unsigned char status;
1172 /* unsigned char status_even ; */ 1172 /* unsigned char status_even ; */
@@ -1178,7 +1178,7 @@ static irqreturn_t tok_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1178 1178
1179 dev = dev_id; 1179 dev = dev_id;
1180#if TR_VERBOSE 1180#if TR_VERBOSE
1181 DPRINTK("Int from tok_driver, dev : %p irq%d regs=%p\n", dev,irq,regs); 1181 DPRINTK("Int from tok_driver, dev : %p irq%d\n", dev,irq);
1182#endif 1182#endif
1183 ti = (struct tok_info *) dev->priv; 1183 ti = (struct tok_info *) dev->priv;
1184 if (ti->sram_phys & 1) 1184 if (ti->sram_phys & 1)
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c
index bfc8c3eae9a1..e999feb8c0bb 100644
--- a/drivers/net/tokenring/lanstreamer.c
+++ b/drivers/net/tokenring/lanstreamer.c
@@ -206,8 +206,7 @@ static int streamer_open(struct net_device *dev);
206static int streamer_xmit(struct sk_buff *skb, struct net_device *dev); 206static int streamer_xmit(struct sk_buff *skb, struct net_device *dev);
207static int streamer_close(struct net_device *dev); 207static int streamer_close(struct net_device *dev);
208static void streamer_set_rx_mode(struct net_device *dev); 208static void streamer_set_rx_mode(struct net_device *dev);
209static irqreturn_t streamer_interrupt(int irq, void *dev_id, 209static irqreturn_t streamer_interrupt(int irq, void *dev_id);
210 struct pt_regs *regs);
211static struct net_device_stats *streamer_get_stats(struct net_device *dev); 210static struct net_device_stats *streamer_get_stats(struct net_device *dev);
212static int streamer_set_mac_address(struct net_device *dev, void *addr); 211static int streamer_set_mac_address(struct net_device *dev, void *addr);
213static void streamer_arb_cmd(struct net_device *dev); 212static void streamer_arb_cmd(struct net_device *dev);
@@ -1028,7 +1027,7 @@ static void streamer_rx(struct net_device *dev)
1028 } /* end for all completed rx descriptors */ 1027 } /* end for all completed rx descriptors */
1029} 1028}
1030 1029
1031static irqreturn_t streamer_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1030static irqreturn_t streamer_interrupt(int irq, void *dev_id)
1032{ 1031{
1033 struct net_device *dev = (struct net_device *) dev_id; 1032 struct net_device *dev = (struct net_device *) dev_id;
1034 struct streamer_private *streamer_priv = 1033 struct streamer_private *streamer_priv =
diff --git a/drivers/net/tokenring/madgemc.c b/drivers/net/tokenring/madgemc.c
index 666bbaaae82f..ed274d6909d0 100644
--- a/drivers/net/tokenring/madgemc.c
+++ b/drivers/net/tokenring/madgemc.c
@@ -70,7 +70,7 @@ static void madgemc_setregpage(struct net_device *dev, int page);
70static void madgemc_setsifsel(struct net_device *dev, int val); 70static void madgemc_setsifsel(struct net_device *dev, int val);
71static void madgemc_setint(struct net_device *dev, int val); 71static void madgemc_setint(struct net_device *dev, int val);
72 72
73static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs); 73static irqreturn_t madgemc_interrupt(int irq, void *dev_id);
74 74
75/* 75/*
76 * These work around paging, however they don't guarentee you're on the 76 * These work around paging, however they don't guarentee you're on the
@@ -417,7 +417,7 @@ getout:
417 * exhausted all contiguous interrupts. 417 * exhausted all contiguous interrupts.
418 * 418 *
419 */ 419 */
420static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs) 420static irqreturn_t madgemc_interrupt(int irq, void *dev_id)
421{ 421{
422 int pending,reg1; 422 int pending,reg1;
423 struct net_device *dev; 423 struct net_device *dev;
@@ -451,7 +451,7 @@ static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs
451 outb(reg1, dev->base_addr + MC_CONTROL_REG1); 451 outb(reg1, dev->base_addr + MC_CONTROL_REG1);
452 452
453 /* Continue handling as normal */ 453 /* Continue handling as normal */
454 tms380tr_interrupt(irq, dev_id, regs); 454 tms380tr_interrupt(irq, dev_id);
455 455
456 pending = SIFREADW(SIFSTS); /* restart - the SIF way */ 456 pending = SIFREADW(SIFSTS); /* restart - the SIF way */
457 457
diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c
index 85831484bc40..cd142d0302bc 100644
--- a/drivers/net/tokenring/olympic.c
+++ b/drivers/net/tokenring/olympic.c
@@ -185,7 +185,7 @@ static int olympic_xmit(struct sk_buff *skb, struct net_device *dev);
185static int olympic_close(struct net_device *dev); 185static int olympic_close(struct net_device *dev);
186static void olympic_set_rx_mode(struct net_device *dev); 186static void olympic_set_rx_mode(struct net_device *dev);
187static void olympic_freemem(struct net_device *dev) ; 187static void olympic_freemem(struct net_device *dev) ;
188static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs); 188static irqreturn_t olympic_interrupt(int irq, void *dev_id);
189static struct net_device_stats * olympic_get_stats(struct net_device *dev); 189static struct net_device_stats * olympic_get_stats(struct net_device *dev);
190static int olympic_set_mac_address(struct net_device *dev, void *addr) ; 190static int olympic_set_mac_address(struct net_device *dev, void *addr) ;
191static void olympic_arb_cmd(struct net_device *dev); 191static void olympic_arb_cmd(struct net_device *dev);
@@ -925,7 +925,7 @@ static void olympic_freemem(struct net_device *dev)
925 return ; 925 return ;
926} 926}
927 927
928static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs) 928static irqreturn_t olympic_interrupt(int irq, void *dev_id)
929{ 929{
930 struct net_device *dev= (struct net_device *)dev_id; 930 struct net_device *dev= (struct net_device *)dev_id;
931 struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; 931 struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c
index 85a7f797d343..9bd4cba87872 100644
--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -141,7 +141,7 @@ static int smctr_init_shared_memory(struct net_device *dev);
141static int smctr_init_tx_bdbs(struct net_device *dev); 141static int smctr_init_tx_bdbs(struct net_device *dev);
142static int smctr_init_tx_fcbs(struct net_device *dev); 142static int smctr_init_tx_fcbs(struct net_device *dev);
143static int smctr_internal_self_test(struct net_device *dev); 143static int smctr_internal_self_test(struct net_device *dev);
144static irqreturn_t smctr_interrupt(int irq, void *dev_id, struct pt_regs *regs); 144static irqreturn_t smctr_interrupt(int irq, void *dev_id);
145static int smctr_issue_enable_int_cmd(struct net_device *dev, 145static int smctr_issue_enable_int_cmd(struct net_device *dev,
146 __u16 interrupt_enable_mask); 146 __u16 interrupt_enable_mask);
147static int smctr_issue_int_ack(struct net_device *dev, __u16 iack_code, 147static int smctr_issue_int_ack(struct net_device *dev, __u16 iack_code,
@@ -1980,7 +1980,7 @@ static int smctr_internal_self_test(struct net_device *dev)
1980/* 1980/*
1981 * The typical workload of the driver: Handle the network interface interrupts. 1981 * The typical workload of the driver: Handle the network interface interrupts.
1982 */ 1982 */
1983static irqreturn_t smctr_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1983static irqreturn_t smctr_interrupt(int irq, void *dev_id)
1984{ 1984{
1985 struct net_device *dev = dev_id; 1985 struct net_device *dev = dev_id;
1986 struct net_local *tp; 1986 struct net_local *tp;
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
index c1925590a0e1..c0ab6e44eb1f 100644
--- a/drivers/net/tokenring/tms380tr.c
+++ b/drivers/net/tokenring/tms380tr.c
@@ -744,7 +744,7 @@ static void tms380tr_timer_chk(unsigned long data)
744/* 744/*
745 * The typical workload of the driver: Handle the network interface interrupts. 745 * The typical workload of the driver: Handle the network interface interrupts.
746 */ 746 */
747irqreturn_t tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs) 747irqreturn_t tms380tr_interrupt(int irq, void *dev_id)
748{ 748{
749 struct net_device *dev = dev_id; 749 struct net_device *dev = dev_id;
750 struct net_local *tp; 750 struct net_local *tp;
diff --git a/drivers/net/tokenring/tms380tr.h b/drivers/net/tokenring/tms380tr.h
index 30452c67bb68..2a16078ac3fd 100644
--- a/drivers/net/tokenring/tms380tr.h
+++ b/drivers/net/tokenring/tms380tr.h
@@ -16,7 +16,7 @@
16/* module prototypes */ 16/* module prototypes */
17int tms380tr_open(struct net_device *dev); 17int tms380tr_open(struct net_device *dev);
18int tms380tr_close(struct net_device *dev); 18int tms380tr_close(struct net_device *dev);
19irqreturn_t tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs); 19irqreturn_t tms380tr_interrupt(int irq, void *dev_id);
20int tmsdev_init(struct net_device *dev, struct device *pdev); 20int tmsdev_init(struct net_device *dev, struct device *pdev);
21void tmsdev_term(struct net_device *dev); 21void tmsdev_term(struct net_device *dev);
22void tms380tr_wait(unsigned long time); 22void tms380tr_wait(unsigned long time);
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
index e1b48bd86646..2cfd9634895a 100644
--- a/drivers/net/tulip/de2104x.c
+++ b/drivers/net/tulip/de2104x.c
@@ -484,7 +484,7 @@ rx_next:
484 de->rx_tail = rx_tail; 484 de->rx_tail = rx_tail;
485} 485}
486 486
487static irqreturn_t de_interrupt (int irq, void *dev_instance, struct pt_regs *regs) 487static irqreturn_t de_interrupt (int irq, void *dev_instance)
488{ 488{
489 struct net_device *dev = dev_instance; 489 struct net_device *dev = dev_instance;
490 struct de_private *de = dev->priv; 490 struct de_private *de = dev->priv;
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index fb5fa7d68888..e17f9779ead2 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -896,7 +896,7 @@ static struct {
896*/ 896*/
897static int de4x5_open(struct net_device *dev); 897static int de4x5_open(struct net_device *dev);
898static int de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev); 898static int de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev);
899static irqreturn_t de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs); 899static irqreturn_t de4x5_interrupt(int irq, void *dev_id);
900static int de4x5_close(struct net_device *dev); 900static int de4x5_close(struct net_device *dev);
901static struct net_device_stats *de4x5_get_stats(struct net_device *dev); 901static struct net_device_stats *de4x5_get_stats(struct net_device *dev);
902static void de4x5_local_stats(struct net_device *dev, char *buf, int pkt_len); 902static void de4x5_local_stats(struct net_device *dev, char *buf, int pkt_len);
@@ -1538,7 +1538,7 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
1538** interrupt is asserted and this routine entered. 1538** interrupt is asserted and this routine entered.
1539*/ 1539*/
1540static irqreturn_t 1540static irqreturn_t
1541de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1541de4x5_interrupt(int irq, void *dev_id)
1542{ 1542{
1543 struct net_device *dev = (struct net_device *)dev_id; 1543 struct net_device *dev = (struct net_device *)dev_id;
1544 struct de4x5_private *lp; 1544 struct de4x5_private *lp;
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index ccf2c225f084..4dd8a0bae860 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -300,7 +300,7 @@ static struct net_device_stats * dmfe_get_stats(struct DEVICE *);
300static void dmfe_set_filter_mode(struct DEVICE *); 300static void dmfe_set_filter_mode(struct DEVICE *);
301static const struct ethtool_ops netdev_ethtool_ops; 301static const struct ethtool_ops netdev_ethtool_ops;
302static u16 read_srom_word(long ,int); 302static u16 read_srom_word(long ,int);
303static irqreturn_t dmfe_interrupt(int , void *, struct pt_regs *); 303static irqreturn_t dmfe_interrupt(int , void *);
304#ifdef CONFIG_NET_POLL_CONTROLLER 304#ifdef CONFIG_NET_POLL_CONTROLLER
305static void poll_dmfe (struct net_device *dev); 305static void poll_dmfe (struct net_device *dev);
306#endif 306#endif
@@ -735,7 +735,7 @@ static int dmfe_stop(struct DEVICE *dev)
735 * receive the packet to upper layer, free the transmitted packet 735 * receive the packet to upper layer, free the transmitted packet
736 */ 736 */
737 737
738static irqreturn_t dmfe_interrupt(int irq, void *dev_id, struct pt_regs *regs) 738static irqreturn_t dmfe_interrupt(int irq, void *dev_id)
739{ 739{
740 struct DEVICE *dev = dev_id; 740 struct DEVICE *dev = dev_id;
741 struct dmfe_board_info *db = netdev_priv(dev); 741 struct dmfe_board_info *db = netdev_priv(dev);
@@ -806,7 +806,7 @@ static void poll_dmfe (struct net_device *dev)
806 /* disable_irq here is not very nice, but with the lockless 806 /* disable_irq here is not very nice, but with the lockless
807 interrupt handler we have no other choice. */ 807 interrupt handler we have no other choice. */
808 disable_irq(dev->irq); 808 disable_irq(dev->irq);
809 dmfe_interrupt (dev->irq, dev, NULL); 809 dmfe_interrupt (dev->irq, dev);
810 enable_irq(dev->irq); 810 enable_irq(dev->irq);
811} 811}
812#endif 812#endif
diff --git a/drivers/net/tulip/interrupt.c b/drivers/net/tulip/interrupt.c
index 7f8f5d42a761..e3488d7b8ede 100644
--- a/drivers/net/tulip/interrupt.c
+++ b/drivers/net/tulip/interrupt.c
@@ -496,7 +496,7 @@ static inline unsigned int phy_interrupt (struct net_device *dev)
496 496
497/* The interrupt handler does all of the Rx thread work and cleans up 497/* The interrupt handler does all of the Rx thread work and cleans up
498 after the Tx thread. */ 498 after the Tx thread. */
499irqreturn_t tulip_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 499irqreturn_t tulip_interrupt(int irq, void *dev_instance)
500{ 500{
501 struct net_device *dev = (struct net_device *)dev_instance; 501 struct net_device *dev = (struct net_device *)dev_instance;
502 struct tulip_private *tp = netdev_priv(dev); 502 struct tulip_private *tp = netdev_priv(dev);
diff --git a/drivers/net/tulip/tulip.h b/drivers/net/tulip/tulip.h
index 25668ddb1f7e..ad107f45c7b1 100644
--- a/drivers/net/tulip/tulip.h
+++ b/drivers/net/tulip/tulip.h
@@ -424,7 +424,7 @@ int tulip_read_eeprom(struct net_device *dev, int location, int addr_len);
424/* interrupt.c */ 424/* interrupt.c */
425extern unsigned int tulip_max_interrupt_work; 425extern unsigned int tulip_max_interrupt_work;
426extern int tulip_rx_copybreak; 426extern int tulip_rx_copybreak;
427irqreturn_t tulip_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 427irqreturn_t tulip_interrupt(int irq, void *dev_instance);
428int tulip_refill_rx(struct net_device *dev); 428int tulip_refill_rx(struct net_device *dev);
429#ifdef CONFIG_TULIP_NAPI 429#ifdef CONFIG_TULIP_NAPI
430int tulip_poll(struct net_device *dev, int *budget); 430int tulip_poll(struct net_device *dev, int *budget);
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
index 831919a81918..0aee618f883c 100644
--- a/drivers/net/tulip/tulip_core.c
+++ b/drivers/net/tulip/tulip_core.c
@@ -1823,7 +1823,7 @@ static void poll_tulip (struct net_device *dev)
1823 /* disable_irq here is not very nice, but with the lockless 1823 /* disable_irq here is not very nice, but with the lockless
1824 interrupt handler we have no other choice. */ 1824 interrupt handler we have no other choice. */
1825 disable_irq(dev->irq); 1825 disable_irq(dev->irq);
1826 tulip_interrupt (dev->irq, dev, NULL); 1826 tulip_interrupt (dev->irq, dev);
1827 enable_irq(dev->irq); 1827 enable_irq(dev->irq);
1828} 1828}
1829#endif 1829#endif
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c
index 0b176be51eb3..229158e8e4be 100644
--- a/drivers/net/tulip/uli526x.c
+++ b/drivers/net/tulip/uli526x.c
@@ -224,7 +224,7 @@ static struct net_device_stats * uli526x_get_stats(struct net_device *);
224static void uli526x_set_filter_mode(struct net_device *); 224static void uli526x_set_filter_mode(struct net_device *);
225static const struct ethtool_ops netdev_ethtool_ops; 225static const struct ethtool_ops netdev_ethtool_ops;
226static u16 read_srom_word(long, int); 226static u16 read_srom_word(long, int);
227static irqreturn_t uli526x_interrupt(int, void *, struct pt_regs *); 227static irqreturn_t uli526x_interrupt(int, void *);
228static void uli526x_descriptor_init(struct uli526x_board_info *, unsigned long); 228static void uli526x_descriptor_init(struct uli526x_board_info *, unsigned long);
229static void allocate_rx_buffer(struct uli526x_board_info *); 229static void allocate_rx_buffer(struct uli526x_board_info *);
230static void update_cr6(u32, unsigned long); 230static void update_cr6(u32, unsigned long);
@@ -659,7 +659,7 @@ static int uli526x_stop(struct net_device *dev)
659 * receive the packet to upper layer, free the transmitted packet 659 * receive the packet to upper layer, free the transmitted packet
660 */ 660 */
661 661
662static irqreturn_t uli526x_interrupt(int irq, void *dev_id, struct pt_regs *regs) 662static irqreturn_t uli526x_interrupt(int irq, void *dev_id)
663{ 663{
664 struct net_device *dev = dev_id; 664 struct net_device *dev = dev_id;
665 struct uli526x_board_info *db = netdev_priv(dev); 665 struct uli526x_board_info *db = netdev_priv(dev);
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c
index 2fca1ee24f5a..002a05e0722f 100644
--- a/drivers/net/tulip/winbond-840.c
+++ b/drivers/net/tulip/winbond-840.c
@@ -332,7 +332,7 @@ static void tx_timeout(struct net_device *dev);
332static int alloc_ringdesc(struct net_device *dev); 332static int alloc_ringdesc(struct net_device *dev);
333static void free_ringdesc(struct netdev_private *np); 333static void free_ringdesc(struct netdev_private *np);
334static int start_tx(struct sk_buff *skb, struct net_device *dev); 334static int start_tx(struct sk_buff *skb, struct net_device *dev);
335static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *regs); 335static irqreturn_t intr_handler(int irq, void *dev_instance);
336static void netdev_error(struct net_device *dev, int intr_status); 336static void netdev_error(struct net_device *dev, int intr_status);
337static int netdev_rx(struct net_device *dev); 337static int netdev_rx(struct net_device *dev);
338static u32 __set_rx_mode(struct net_device *dev); 338static u32 __set_rx_mode(struct net_device *dev);
@@ -1110,7 +1110,7 @@ static void netdev_tx_done(struct net_device *dev)
1110 1110
1111/* The interrupt handler does all of the Rx thread work and cleans up 1111/* The interrupt handler does all of the Rx thread work and cleans up
1112 after the Tx thread. */ 1112 after the Tx thread. */
1113static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *rgs) 1113static irqreturn_t intr_handler(int irq, void *dev_instance)
1114{ 1114{
1115 struct net_device *dev = (struct net_device *)dev_instance; 1115 struct net_device *dev = (struct net_device *)dev_instance;
1116 struct netdev_private *np = netdev_priv(dev); 1116 struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 629eac645289..61d313049dd0 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -114,7 +114,7 @@ struct xircom_private {
114/* Function prototypes */ 114/* Function prototypes */
115static int xircom_probe(struct pci_dev *pdev, const struct pci_device_id *id); 115static int xircom_probe(struct pci_dev *pdev, const struct pci_device_id *id);
116static void xircom_remove(struct pci_dev *pdev); 116static void xircom_remove(struct pci_dev *pdev);
117static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 117static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
118static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev); 118static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
119static int xircom_open(struct net_device *dev); 119static int xircom_open(struct net_device *dev);
120static int xircom_close(struct net_device *dev); 120static int xircom_close(struct net_device *dev);
@@ -334,7 +334,7 @@ static void __devexit xircom_remove(struct pci_dev *pdev)
334 leave("xircom_remove"); 334 leave("xircom_remove");
335} 335}
336 336
337static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 337static irqreturn_t xircom_interrupt(int irq, void *dev_instance)
338{ 338{
339 struct net_device *dev = (struct net_device *) dev_instance; 339 struct net_device *dev = (struct net_device *) dev_instance;
340 struct xircom_private *card = netdev_priv(dev); 340 struct xircom_private *card = netdev_priv(dev);
@@ -513,7 +513,7 @@ static struct net_device_stats *xircom_get_stats(struct net_device *dev)
513static void xircom_poll_controller(struct net_device *dev) 513static void xircom_poll_controller(struct net_device *dev)
514{ 514{
515 disable_irq(dev->irq); 515 disable_irq(dev->irq);
516 xircom_interrupt(dev->irq, dev, NULL); 516 xircom_interrupt(dev->irq, dev);
517 enable_irq(dev->irq); 517 enable_irq(dev->irq);
518} 518}
519#endif 519#endif
diff --git a/drivers/net/tulip/xircom_tulip_cb.c b/drivers/net/tulip/xircom_tulip_cb.c
index 312788caa4c6..a998c5d0ae9c 100644
--- a/drivers/net/tulip/xircom_tulip_cb.c
+++ b/drivers/net/tulip/xircom_tulip_cb.c
@@ -328,7 +328,7 @@ static void xircom_init_ring(struct net_device *dev);
328static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev); 328static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
329static int xircom_rx(struct net_device *dev); 329static int xircom_rx(struct net_device *dev);
330static void xircom_media_change(struct net_device *dev); 330static void xircom_media_change(struct net_device *dev);
331static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 331static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
332static int xircom_close(struct net_device *dev); 332static int xircom_close(struct net_device *dev);
333static struct net_device_stats *xircom_get_stats(struct net_device *dev); 333static struct net_device_stats *xircom_get_stats(struct net_device *dev);
334static int xircom_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 334static int xircom_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -1044,7 +1044,7 @@ static void check_duplex(struct net_device *dev)
1044 1044
1045/* The interrupt handler does all of the Rx thread work and cleans up 1045/* The interrupt handler does all of the Rx thread work and cleans up
1046 after the Tx thread. */ 1046 after the Tx thread. */
1047static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 1047static irqreturn_t xircom_interrupt(int irq, void *dev_instance)
1048{ 1048{
1049 struct net_device *dev = dev_instance; 1049 struct net_device *dev = dev_instance;
1050 struct xircom_private *tp = netdev_priv(dev); 1050 struct xircom_private *tp = netdev_priv(dev);
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index d5c32e9caa97..3bf9e630404f 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -1826,7 +1826,7 @@ typhoon_poll(struct net_device *dev, int *total_budget)
1826} 1826}
1827 1827
1828static irqreturn_t 1828static irqreturn_t
1829typhoon_interrupt(int irq, void *dev_instance, struct pt_regs *rgs) 1829typhoon_interrupt(int irq, void *dev_instance)
1830{ 1830{
1831 struct net_device *dev = (struct net_device *) dev_instance; 1831 struct net_device *dev = (struct net_device *) dev_instance;
1832 struct typhoon *tp = dev->priv; 1832 struct typhoon *tp = dev->priv;
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 700ebd7d1457..12cd7b561f35 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3844,8 +3844,7 @@ static int ucc_geth_poll(struct net_device *dev, int *budget)
3844} 3844}
3845#endif /* CONFIG_UGETH_NAPI */ 3845#endif /* CONFIG_UGETH_NAPI */
3846 3846
3847static irqreturn_t ucc_geth_irq_handler(int irq, void *info, 3847static irqreturn_t ucc_geth_irq_handler(int irq, void *info)
3848 struct pt_regs *regs)
3849{ 3848{
3850 struct net_device *dev = (struct net_device *)info; 3849 struct net_device *dev = (struct net_device *)info;
3851 ucc_geth_private_t *ugeth = netdev_priv(dev); 3850 ucc_geth_private_t *ugeth = netdev_priv(dev);
@@ -3910,7 +3909,7 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void *info,
3910 return IRQ_HANDLED; 3909 return IRQ_HANDLED;
3911} 3910}
3912 3911
3913static irqreturn_t phy_interrupt(int irq, void *dev_id, struct pt_regs *regs) 3912static irqreturn_t phy_interrupt(int irq, void *dev_id)
3914{ 3913{
3915 struct net_device *dev = (struct net_device *)dev_id; 3914 struct net_device *dev = (struct net_device *)dev_id;
3916 ucc_geth_private_t *ugeth = netdev_priv(dev); 3915 ucc_geth_private_t *ugeth = netdev_priv(dev);
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
index cbebf1b96e9d..ebbda1d8f542 100644
--- a/drivers/net/via-rhine.c
+++ b/drivers/net/via-rhine.c
@@ -404,7 +404,7 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val
404static int rhine_open(struct net_device *dev); 404static int rhine_open(struct net_device *dev);
405static void rhine_tx_timeout(struct net_device *dev); 405static void rhine_tx_timeout(struct net_device *dev);
406static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev); 406static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev);
407static irqreturn_t rhine_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 407static irqreturn_t rhine_interrupt(int irq, void *dev_instance);
408static void rhine_tx(struct net_device *dev); 408static void rhine_tx(struct net_device *dev);
409static int rhine_rx(struct net_device *dev, int limit); 409static int rhine_rx(struct net_device *dev, int limit);
410static void rhine_error(struct net_device *dev, int intr_status); 410static void rhine_error(struct net_device *dev, int intr_status);
@@ -569,7 +569,7 @@ static void __devinit rhine_reload_eeprom(long pioaddr, struct net_device *dev)
569static void rhine_poll(struct net_device *dev) 569static void rhine_poll(struct net_device *dev)
570{ 570{
571 disable_irq(dev->irq); 571 disable_irq(dev->irq);
572 rhine_interrupt(dev->irq, (void *)dev, NULL); 572 rhine_interrupt(dev->irq, (void *)dev);
573 enable_irq(dev->irq); 573 enable_irq(dev->irq);
574} 574}
575#endif 575#endif
@@ -1290,7 +1290,7 @@ static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev)
1290 1290
1291/* The interrupt handler does all of the Rx thread work and cleans up 1291/* The interrupt handler does all of the Rx thread work and cleans up
1292 after the Tx thread. */ 1292 after the Tx thread. */
1293static irqreturn_t rhine_interrupt(int irq, void *dev_instance, struct pt_regs *rgs) 1293static irqreturn_t rhine_interrupt(int irq, void *dev_instance)
1294{ 1294{
1295 struct net_device *dev = dev_instance; 1295 struct net_device *dev = dev_instance;
1296 struct rhine_private *rp = netdev_priv(dev); 1296 struct rhine_private *rp = netdev_priv(dev);
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 7d8808ce541f..74f894795a1b 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -236,7 +236,7 @@ static void velocity_print_info(struct velocity_info *vptr);
236static int velocity_open(struct net_device *dev); 236static int velocity_open(struct net_device *dev);
237static int velocity_change_mtu(struct net_device *dev, int mtu); 237static int velocity_change_mtu(struct net_device *dev, int mtu);
238static int velocity_xmit(struct sk_buff *skb, struct net_device *dev); 238static int velocity_xmit(struct sk_buff *skb, struct net_device *dev);
239static int velocity_intr(int irq, void *dev_instance, struct pt_regs *regs); 239static int velocity_intr(int irq, void *dev_instance);
240static void velocity_set_multi(struct net_device *dev); 240static void velocity_set_multi(struct net_device *dev);
241static struct net_device_stats *velocity_get_stats(struct net_device *dev); 241static struct net_device_stats *velocity_get_stats(struct net_device *dev);
242static int velocity_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 242static int velocity_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -2036,7 +2036,6 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)
2036 * velocity_intr - interrupt callback 2036 * velocity_intr - interrupt callback
2037 * @irq: interrupt number 2037 * @irq: interrupt number
2038 * @dev_instance: interrupting device 2038 * @dev_instance: interrupting device
2039 * @pt_regs: CPU register state at interrupt
2040 * 2039 *
2041 * Called whenever an interrupt is generated by the velocity 2040 * Called whenever an interrupt is generated by the velocity
2042 * adapter IRQ line. We may not be the source of the interrupt 2041 * adapter IRQ line. We may not be the source of the interrupt
@@ -2044,7 +2043,7 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)
2044 * efficiently as possible. 2043 * efficiently as possible.
2045 */ 2044 */
2046 2045
2047static int velocity_intr(int irq, void *dev_instance, struct pt_regs *regs) 2046static int velocity_intr(int irq, void *dev_instance)
2048{ 2047{
2049 struct net_device *dev = dev_instance; 2048 struct net_device *dev = dev_instance;
2050 struct velocity_info *vptr = netdev_priv(dev); 2049 struct velocity_info *vptr = netdev_priv(dev);
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index 1f95b4864ea1..e1bf8b93f958 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -345,7 +345,7 @@ static void put_driver_status(struct cosa_data *cosa);
345static void put_driver_status_nolock(struct cosa_data *cosa); 345static void put_driver_status_nolock(struct cosa_data *cosa);
346 346
347/* Interrupt handling */ 347/* Interrupt handling */
348static irqreturn_t cosa_interrupt(int irq, void *cosa, struct pt_regs *regs); 348static irqreturn_t cosa_interrupt(int irq, void *cosa);
349 349
350/* I/O ops debugging */ 350/* I/O ops debugging */
351#ifdef DEBUG_IO 351#ifdef DEBUG_IO
@@ -1972,7 +1972,7 @@ out:
1972 spin_unlock_irqrestore(&cosa->lock, flags); 1972 spin_unlock_irqrestore(&cosa->lock, flags);
1973} 1973}
1974 1974
1975static irqreturn_t cosa_interrupt(int irq, void *cosa_, struct pt_regs *regs) 1975static irqreturn_t cosa_interrupt(int irq, void *cosa_)
1976{ 1976{
1977 unsigned status; 1977 unsigned status;
1978 int count = 0; 1978 int count = 0;
diff --git a/drivers/net/wan/cycx_main.c b/drivers/net/wan/cycx_main.c
index a5e7ce1bd16a..12363e056b63 100644
--- a/drivers/net/wan/cycx_main.c
+++ b/drivers/net/wan/cycx_main.c
@@ -74,7 +74,7 @@ static int cycx_wan_setup(struct wan_device *wandev, wandev_conf_t *conf);
74static int cycx_wan_shutdown(struct wan_device *wandev); 74static int cycx_wan_shutdown(struct wan_device *wandev);
75 75
76/* Miscellaneous functions */ 76/* Miscellaneous functions */
77static irqreturn_t cycx_isr(int irq, void *dev_id, struct pt_regs *regs); 77static irqreturn_t cycx_isr(int irq, void *dev_id);
78 78
79/* Global Data 79/* Global Data
80 * Note: All data must be explicitly initialized!!! 80 * Note: All data must be explicitly initialized!!!
@@ -301,7 +301,7 @@ out: return ret;
301 * o acknowledge Cyclom 2X hardware interrupt. 301 * o acknowledge Cyclom 2X hardware interrupt.
302 * o call protocol-specific interrupt service routine, if any. 302 * o call protocol-specific interrupt service routine, if any.
303 */ 303 */
304static irqreturn_t cycx_isr(int irq, void *dev_id, struct pt_regs *regs) 304static irqreturn_t cycx_isr(int irq, void *dev_id)
305{ 305{
306 struct cycx_device *card = (struct cycx_device *)dev_id; 306 struct cycx_device *card = (struct cycx_device *)dev_id;
307 307
diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
index af4d4155905b..25021a7992a9 100644
--- a/drivers/net/wan/dscc4.c
+++ b/drivers/net/wan/dscc4.c
@@ -365,7 +365,7 @@ static int dscc4_init_ring(struct net_device *);
365static void dscc4_release_ring(struct dscc4_dev_priv *); 365static void dscc4_release_ring(struct dscc4_dev_priv *);
366static void dscc4_timer(unsigned long); 366static void dscc4_timer(unsigned long);
367static void dscc4_tx_timeout(struct net_device *); 367static void dscc4_tx_timeout(struct net_device *);
368static irqreturn_t dscc4_irq(int irq, void *dev_id, struct pt_regs *ptregs); 368static irqreturn_t dscc4_irq(int irq, void *dev_id);
369static int dscc4_hdlc_attach(struct net_device *, unsigned short, unsigned short); 369static int dscc4_hdlc_attach(struct net_device *, unsigned short, unsigned short);
370static int dscc4_set_iface(struct dscc4_dev_priv *, struct net_device *); 370static int dscc4_set_iface(struct dscc4_dev_priv *, struct net_device *);
371#ifdef DSCC4_POLLING 371#ifdef DSCC4_POLLING
@@ -1476,7 +1476,7 @@ static int dscc4_set_iface(struct dscc4_dev_priv *dpriv, struct net_device *dev)
1476 return ret; 1476 return ret;
1477} 1477}
1478 1478
1479static irqreturn_t dscc4_irq(int irq, void *token, struct pt_regs *ptregs) 1479static irqreturn_t dscc4_irq(int irq, void *token)
1480{ 1480{
1481 struct dscc4_dev_priv *root = token; 1481 struct dscc4_dev_priv *root = token;
1482 struct dscc4_pci_priv *priv; 1482 struct dscc4_pci_priv *priv;
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 564351aafa41..c45d6a83339d 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -1498,7 +1498,7 @@ do_bottom_half_rx(struct fst_card_info *card)
1498 * Dev_id is our fst_card_info pointer 1498 * Dev_id is our fst_card_info pointer
1499 */ 1499 */
1500static irqreturn_t 1500static irqreturn_t
1501fst_intr(int irq, void *dev_id, struct pt_regs *regs) 1501fst_intr(int irq, void *dev_id)
1502{ 1502{
1503 struct fst_card_info *card; 1503 struct fst_card_info *card;
1504 struct fst_port_info *port; 1504 struct fst_port_info *port;
diff --git a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c
index dce2bb317b82..8d0a1f2f00e5 100644
--- a/drivers/net/wan/hd6457x.c
+++ b/drivers/net/wan/hd6457x.c
@@ -424,7 +424,7 @@ static inline void sca_tx_intr(port_t *port)
424 424
425 425
426 426
427static irqreturn_t sca_intr(int irq, void* dev_id, struct pt_regs *regs) 427static irqreturn_t sca_intr(int irq, void* dev_id)
428{ 428{
429 card_t *card = dev_id; 429 card_t *card = dev_id;
430 int i; 430 int i;
diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
index 7b5d81deb028..2b54f1bc3a0d 100644
--- a/drivers/net/wan/lmc/lmc_main.c
+++ b/drivers/net/wan/lmc/lmc_main.c
@@ -100,7 +100,7 @@ static int lmc_rx (struct net_device *dev);
100static int lmc_open(struct net_device *dev); 100static int lmc_open(struct net_device *dev);
101static int lmc_close(struct net_device *dev); 101static int lmc_close(struct net_device *dev);
102static struct net_device_stats *lmc_get_stats(struct net_device *dev); 102static struct net_device_stats *lmc_get_stats(struct net_device *dev);
103static irqreturn_t lmc_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 103static irqreturn_t lmc_interrupt(int irq, void *dev_instance);
104static void lmc_initcsrs(lmc_softc_t * const sc, lmc_csrptr_t csr_base, size_t csr_size); 104static void lmc_initcsrs(lmc_softc_t * const sc, lmc_csrptr_t csr_base, size_t csr_size);
105static void lmc_softreset(lmc_softc_t * const); 105static void lmc_softreset(lmc_softc_t * const);
106static void lmc_running_reset(struct net_device *dev); 106static void lmc_running_reset(struct net_device *dev);
@@ -1273,7 +1273,7 @@ static int lmc_ifdown (struct net_device *dev) /*fold00*/
1273/* Interrupt handling routine. This will take an incoming packet, or clean 1273/* Interrupt handling routine. This will take an incoming packet, or clean
1274 * up after a trasmit. 1274 * up after a trasmit.
1275 */ 1275 */
1276static irqreturn_t lmc_interrupt (int irq, void *dev_instance, struct pt_regs *regs) /*fold00*/ 1276static irqreturn_t lmc_interrupt (int irq, void *dev_instance) /*fold00*/
1277{ 1277{
1278 struct net_device *dev = (struct net_device *) dev_instance; 1278 struct net_device *dev = (struct net_device *) dev_instance;
1279 lmc_softc_t *sc; 1279 lmc_softc_t *sc;
diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c
index 8d9b959bf15b..5823e3bca178 100644
--- a/drivers/net/wan/pc300_drv.c
+++ b/drivers/net/wan/pc300_drv.c
@@ -284,7 +284,7 @@ static void rx_dma_buf_pt_init(pc300_t *, int);
284static void rx_dma_buf_init(pc300_t *, int); 284static void rx_dma_buf_init(pc300_t *, int);
285static void tx_dma_buf_check(pc300_t *, int); 285static void tx_dma_buf_check(pc300_t *, int);
286static void rx_dma_buf_check(pc300_t *, int); 286static void rx_dma_buf_check(pc300_t *, int);
287static irqreturn_t cpc_intr(int, void *, struct pt_regs *); 287static irqreturn_t cpc_intr(int, void *);
288static struct net_device_stats *cpc_get_stats(struct net_device *); 288static struct net_device_stats *cpc_get_stats(struct net_device *);
289static int clock_rate_calc(uclong, uclong, int *); 289static int clock_rate_calc(uclong, uclong, int *);
290static uclong detect_ram(pc300_t *); 290static uclong detect_ram(pc300_t *);
@@ -2363,7 +2363,7 @@ static void falc_intr(pc300_t * card)
2363 } 2363 }
2364} 2364}
2365 2365
2366static irqreturn_t cpc_intr(int irq, void *dev_id, struct pt_regs *regs) 2366static irqreturn_t cpc_intr(int irq, void *dev_id)
2367{ 2367{
2368 pc300_t *card; 2368 pc300_t *card;
2369 volatile ucchar plx_status; 2369 volatile ucchar plx_status;
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index fc75bec19029..fc5c0c611ffd 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -119,7 +119,7 @@ static int sbni_ioctl( struct net_device *, struct ifreq *, int );
119static struct net_device_stats *sbni_get_stats( struct net_device * ); 119static struct net_device_stats *sbni_get_stats( struct net_device * );
120static void set_multicast_list( struct net_device * ); 120static void set_multicast_list( struct net_device * );
121 121
122static irqreturn_t sbni_interrupt( int, void *, struct pt_regs * ); 122static irqreturn_t sbni_interrupt( int, void * );
123static void handle_channel( struct net_device * ); 123static void handle_channel( struct net_device * );
124static int recv_frame( struct net_device * ); 124static int recv_frame( struct net_device * );
125static void send_frame( struct net_device * ); 125static void send_frame( struct net_device * );
@@ -501,7 +501,7 @@ sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
501 */ 501 */
502 502
503static irqreturn_t 503static irqreturn_t
504sbni_interrupt( int irq, void *dev_id, struct pt_regs *regs ) 504sbni_interrupt( int irq, void *dev_id )
505{ 505{
506 struct net_device *dev = (struct net_device *) dev_id; 506 struct net_device *dev = (struct net_device *) dev_id;
507 struct net_local *nl = (struct net_local *) dev->priv; 507 struct net_local *nl = (struct net_local *) dev->priv;
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
index 0ba018f8382b..5715d25271f1 100644
--- a/drivers/net/wan/sdla.c
+++ b/drivers/net/wan/sdla.c
@@ -867,7 +867,7 @@ static void sdla_receive(struct net_device *dev)
867 spin_unlock_irqrestore(&sdla_lock, flags); 867 spin_unlock_irqrestore(&sdla_lock, flags);
868} 868}
869 869
870static irqreturn_t sdla_isr(int irq, void *dev_id, struct pt_regs * regs) 870static irqreturn_t sdla_isr(int irq, void *dev_id)
871{ 871{
872 struct net_device *dev; 872 struct net_device *dev;
873 struct frad_local *flp; 873 struct frad_local *flp;
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index ec68f7dfd93f..c73601574334 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -244,7 +244,7 @@ static inline void wanxl_rx_intr(card_t *card)
244 244
245 245
246 246
247static irqreturn_t wanxl_intr(int irq, void* dev_id, struct pt_regs *regs) 247static irqreturn_t wanxl_intr(int irq, void* dev_id)
248{ 248{
249 card_t *card = dev_id; 249 card_t *card = dev_id;
250 int i; 250 int i;
diff --git a/drivers/net/wan/z85230.c b/drivers/net/wan/z85230.c
index caa48f12fd0f..59ddd21c3958 100644
--- a/drivers/net/wan/z85230.c
+++ b/drivers/net/wan/z85230.c
@@ -728,7 +728,7 @@ EXPORT_SYMBOL(z8530_nop);
728 * channel). c->lock for both channels points to dev->lock 728 * channel). c->lock for both channels points to dev->lock
729 */ 729 */
730 730
731irqreturn_t z8530_interrupt(int irq, void *dev_id, struct pt_regs *regs) 731irqreturn_t z8530_interrupt(int irq, void *dev_id)
732{ 732{
733 struct z8530_dev *dev=dev_id; 733 struct z8530_dev *dev=dev_id;
734 u8 intr; 734 u8 intr;
diff --git a/drivers/net/wan/z85230.h b/drivers/net/wan/z85230.h
index 77e53208045f..158aea7b8eac 100644
--- a/drivers/net/wan/z85230.h
+++ b/drivers/net/wan/z85230.h
@@ -396,7 +396,7 @@ struct z8530_dev
396extern u8 z8530_dead_port[]; 396extern u8 z8530_dead_port[];
397extern u8 z8530_hdlc_kilostream_85230[]; 397extern u8 z8530_hdlc_kilostream_85230[];
398extern u8 z8530_hdlc_kilostream[]; 398extern u8 z8530_hdlc_kilostream[];
399extern irqreturn_t z8530_interrupt(int, void *, struct pt_regs *); 399extern irqreturn_t z8530_interrupt(int, void *);
400extern void z8530_describe(struct z8530_dev *, char *mapping, unsigned long io); 400extern void z8530_describe(struct z8530_dev *, char *mapping, unsigned long io);
401extern int z8530_init(struct z8530_dev *); 401extern int z8530_init(struct z8530_dev *);
402extern int z8530_shutdown(struct z8530_dev *); 402extern int z8530_shutdown(struct z8530_dev *);
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 39d09345027c..0a33c8a56e13 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -1120,8 +1120,7 @@ static void mpi_receive_802_3(struct airo_info *ai);
1120static void mpi_receive_802_11(struct airo_info *ai); 1120static void mpi_receive_802_11(struct airo_info *ai);
1121static int waitbusy (struct airo_info *ai); 1121static int waitbusy (struct airo_info *ai);
1122 1122
1123static irqreturn_t airo_interrupt( int irq, void* dev_id, struct pt_regs 1123static irqreturn_t airo_interrupt( int irq, void* dev_id);
1124 *regs);
1125static int airo_thread(void *data); 1124static int airo_thread(void *data);
1126static void timer_func( struct net_device *dev ); 1125static void timer_func( struct net_device *dev );
1127static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 1126static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -3151,7 +3150,7 @@ static int airo_thread(void *data) {
3151 return 0; 3150 return 0;
3152} 3151}
3153 3152
3154static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) { 3153static irqreturn_t airo_interrupt ( int irq, void* dev_id) {
3155 struct net_device *dev = (struct net_device *)dev_id; 3154 struct net_device *dev = (struct net_device *)dev_id;
3156 u16 status; 3155 u16 status;
3157 u16 fid; 3156 u16 fid;
diff --git a/drivers/net/wireless/arlan-main.c b/drivers/net/wireless/arlan-main.c
index bb6bea4f3233..4688e56b69c7 100644
--- a/drivers/net/wireless/arlan-main.c
+++ b/drivers/net/wireless/arlan-main.c
@@ -78,7 +78,7 @@ static int arlans_found;
78 78
79static int arlan_open(struct net_device *dev); 79static int arlan_open(struct net_device *dev);
80static int arlan_tx(struct sk_buff *skb, struct net_device *dev); 80static int arlan_tx(struct sk_buff *skb, struct net_device *dev);
81static irqreturn_t arlan_interrupt(int irq, void *dev_id, struct pt_regs *regs); 81static irqreturn_t arlan_interrupt(int irq, void *dev_id);
82static int arlan_close(struct net_device *dev); 82static int arlan_close(struct net_device *dev);
83static struct net_device_stats * 83static struct net_device_stats *
84 arlan_statistics (struct net_device *dev); 84 arlan_statistics (struct net_device *dev);
@@ -1651,7 +1651,7 @@ end_int_process:
1651 return; 1651 return;
1652} 1652}
1653 1653
1654static irqreturn_t arlan_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1654static irqreturn_t arlan_interrupt(int irq, void *dev_id)
1655{ 1655{
1656 struct net_device *dev = dev_id; 1656 struct net_device *dev = dev_id;
1657 struct arlan_private *priv = netdev_priv(dev); 1657 struct arlan_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index 0fc267d626dc..31eed85de60f 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -1145,7 +1145,7 @@ next:
1145 } 1145 }
1146} 1146}
1147 1147
1148static irqreturn_t service_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1148static irqreturn_t service_interrupt(int irq, void *dev_id)
1149{ 1149{
1150 struct net_device *dev = (struct net_device *) dev_id; 1150 struct net_device *dev = (struct net_device *) dev_id;
1151 struct atmel_private *priv = netdev_priv(dev); 1151 struct atmel_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index eb65db7393ba..bad3452ea893 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -1834,7 +1834,7 @@ static void bcm43xx_interrupt_ack(struct bcm43xx_private *bcm, u32 reason)
1834} 1834}
1835 1835
1836/* Interrupt handler top-half */ 1836/* Interrupt handler top-half */
1837static irqreturn_t bcm43xx_interrupt_handler(int irq, void *dev_id, struct pt_regs *regs) 1837static irqreturn_t bcm43xx_interrupt_handler(int irq, void *dev_id)
1838{ 1838{
1839 irqreturn_t ret = IRQ_HANDLED; 1839 irqreturn_t ret = IRQ_HANDLED;
1840 struct bcm43xx_private *bcm = dev_id; 1840 struct bcm43xx_private *bcm = dev_id;
@@ -3963,7 +3963,7 @@ static void bcm43xx_net_poll_controller(struct net_device *net_dev)
3963 3963
3964 local_irq_save(flags); 3964 local_irq_save(flags);
3965 if (bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED) 3965 if (bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED)
3966 bcm43xx_interrupt_handler(bcm->irq, bcm, NULL); 3966 bcm43xx_interrupt_handler(bcm->irq, bcm);
3967 local_irq_restore(flags); 3967 local_irq_restore(flags);
3968} 3968}
3969#endif /* CONFIG_NET_POLL_CONTROLLER */ 3969#endif /* CONFIG_NET_POLL_CONTROLLER */
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index d500012fdc7a..ed00ebb6e7f4 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -2622,7 +2622,7 @@ static void prism2_check_magic(local_info_t *local)
2622 2622
2623 2623
2624/* Called only from hardware IRQ */ 2624/* Called only from hardware IRQ */
2625static irqreturn_t prism2_interrupt(int irq, void *dev_id, struct pt_regs *regs) 2625static irqreturn_t prism2_interrupt(int irq, void *dev_id)
2626{ 2626{
2627 struct net_device *dev = (struct net_device *) dev_id; 2627 struct net_device *dev = (struct net_device *) dev_id;
2628 struct hostap_interface *iface; 2628 struct hostap_interface *iface;
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 599e2fe76188..4e4eaa2a99ca 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -3255,7 +3255,7 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)
3255 IPW_DEBUG_ISR("exit\n"); 3255 IPW_DEBUG_ISR("exit\n");
3256} 3256}
3257 3257
3258static irqreturn_t ipw2100_interrupt(int irq, void *data, struct pt_regs *regs) 3258static irqreturn_t ipw2100_interrupt(int irq, void *data)
3259{ 3259{
3260 struct ipw2100_priv *priv = data; 3260 struct ipw2100_priv *priv = data;
3261 u32 inta, inta_mask; 3261 u32 inta, inta_mask;
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index 5685d7ba55bb..1f742814a01c 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -10467,7 +10467,7 @@ static const struct ethtool_ops ipw_ethtool_ops = {
10467 .set_eeprom = ipw_ethtool_set_eeprom, 10467 .set_eeprom = ipw_ethtool_set_eeprom,
10468}; 10468};
10469 10469
10470static irqreturn_t ipw_isr(int irq, void *data, struct pt_regs *regs) 10470static irqreturn_t ipw_isr(int irq, void *data)
10471{ 10471{
10472 struct ipw_priv *priv = data; 10472 struct ipw_priv *priv = data;
10473 u32 inta, inta_mask; 10473 u32 inta, inta_mask;
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c
index 36b5e004305e..6714e0dfa8d6 100644
--- a/drivers/net/wireless/netwave_cs.c
+++ b/drivers/net/wireless/netwave_cs.c
@@ -207,7 +207,7 @@ static int netwave_start_xmit( struct sk_buff *skb, struct net_device *dev);
207static int netwave_rx( struct net_device *dev); 207static int netwave_rx( struct net_device *dev);
208 208
209/* Interrupt routines */ 209/* Interrupt routines */
210static irqreturn_t netwave_interrupt(int irq, void *dev_id, struct pt_regs *regs); 210static irqreturn_t netwave_interrupt(int irq, void *dev_id);
211static void netwave_watchdog(struct net_device *); 211static void netwave_watchdog(struct net_device *);
212 212
213/* Statistics */ 213/* Statistics */
@@ -1072,7 +1072,7 @@ static int netwave_start_xmit(struct sk_buff *skb, struct net_device *dev) {
1072} /* netwave_start_xmit */ 1072} /* netwave_start_xmit */
1073 1073
1074/* 1074/*
1075 * Function netwave_interrupt (irq, dev_id, regs) 1075 * Function netwave_interrupt (irq, dev_id)
1076 * 1076 *
1077 * This function is the interrupt handler for the Netwave card. This 1077 * This function is the interrupt handler for the Netwave card. This
1078 * routine will be called whenever: 1078 * routine will be called whenever:
@@ -1081,7 +1081,7 @@ static int netwave_start_xmit(struct sk_buff *skb, struct net_device *dev) {
1081 * ready to transmit another packet. 1081 * ready to transmit another packet.
1082 * 3. A command has completed execution. 1082 * 3. A command has completed execution.
1083 */ 1083 */
1084static irqreturn_t netwave_interrupt(int irq, void* dev_id, struct pt_regs *regs) 1084static irqreturn_t netwave_interrupt(int irq, void* dev_id)
1085{ 1085{
1086 kio_addr_t iobase; 1086 kio_addr_t iobase;
1087 u_char __iomem *ramBase; 1087 u_char __iomem *ramBase;
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index 9e19a963febc..793da5f69344 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -1952,7 +1952,7 @@ static void __orinoco_ev_wterr(struct net_device *dev, hermes_t *hw)
1952 dev->name); 1952 dev->name);
1953} 1953}
1954 1954
1955irqreturn_t orinoco_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1955irqreturn_t orinoco_interrupt(int irq, void *dev_id)
1956{ 1956{
1957 struct net_device *dev = (struct net_device *)dev_id; 1957 struct net_device *dev = (struct net_device *)dev_id;
1958 struct orinoco_private *priv = netdev_priv(dev); 1958 struct orinoco_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h
index fb5700d6c454..4720fb20d66d 100644
--- a/drivers/net/wireless/orinoco.h
+++ b/drivers/net/wireless/orinoco.h
@@ -128,7 +128,7 @@ extern void free_orinocodev(struct net_device *dev);
128extern int __orinoco_up(struct net_device *dev); 128extern int __orinoco_up(struct net_device *dev);
129extern int __orinoco_down(struct net_device *dev); 129extern int __orinoco_down(struct net_device *dev);
130extern int orinoco_reinit_firmware(struct net_device *dev); 130extern int orinoco_reinit_firmware(struct net_device *dev);
131extern irqreturn_t orinoco_interrupt(int irq, void * dev_id, struct pt_regs *regs); 131extern irqreturn_t orinoco_interrupt(int irq, void * dev_id);
132 132
133/********************************************************************/ 133/********************************************************************/
134/* Locking and synchronization functions */ 134/* Locking and synchronization functions */
diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c
index ab3c5a27efd9..ec1c00f19eb3 100644
--- a/drivers/net/wireless/prism54/islpci_dev.c
+++ b/drivers/net/wireless/prism54/islpci_dev.c
@@ -182,7 +182,7 @@ isl_upload_firmware(islpci_private *priv)
182******************************************************************************/ 182******************************************************************************/
183 183
184irqreturn_t 184irqreturn_t
185islpci_interrupt(int irq, void *config, struct pt_regs *regs) 185islpci_interrupt(int irq, void *config)
186{ 186{
187 u32 reg; 187 u32 reg;
188 islpci_private *priv = config; 188 islpci_private *priv = config;
diff --git a/drivers/net/wireless/prism54/islpci_dev.h b/drivers/net/wireless/prism54/islpci_dev.h
index 5049f37455b1..2f7e525d0cf6 100644
--- a/drivers/net/wireless/prism54/islpci_dev.h
+++ b/drivers/net/wireless/prism54/islpci_dev.h
@@ -198,7 +198,7 @@ islpci_state_t islpci_set_state(islpci_private *priv, islpci_state_t new_state);
198 198
199#define ISLPCI_TX_TIMEOUT (2*HZ) 199#define ISLPCI_TX_TIMEOUT (2*HZ)
200 200
201irqreturn_t islpci_interrupt(int, void *, struct pt_regs *); 201irqreturn_t islpci_interrupt(int, void *);
202 202
203int prism54_post_setup(islpci_private *, int); 203int prism54_post_setup(islpci_private *, int);
204int islpci_reset(islpci_private *, int); 204int islpci_reset(islpci_private *, int);
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index e82548ea609a..0b381d77015c 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -130,7 +130,7 @@ static void ray_update_parm(struct net_device *dev, UCHAR objid, UCHAR *value, i
130static void verify_dl_startup(u_long); 130static void verify_dl_startup(u_long);
131 131
132/* Prototypes for interrpt time functions **********************************/ 132/* Prototypes for interrpt time functions **********************************/
133static irqreturn_t ray_interrupt (int reg, void *dev_id, struct pt_regs *regs); 133static irqreturn_t ray_interrupt (int reg, void *dev_id);
134static void clear_interrupt(ray_dev_t *local); 134static void clear_interrupt(ray_dev_t *local);
135static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs, 135static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs,
136 unsigned int pkt_addr, int rx_len); 136 unsigned int pkt_addr, int rx_len);
@@ -1940,7 +1940,7 @@ static void set_multicast_list(struct net_device *dev)
1940/*============================================================================= 1940/*=============================================================================
1941 * All routines below here are run at interrupt time. 1941 * All routines below here are run at interrupt time.
1942=============================================================================*/ 1942=============================================================================*/
1943static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs) 1943static irqreturn_t ray_interrupt(int irq, void *dev_id)
1944{ 1944{
1945 struct net_device *dev = (struct net_device *)dev_id; 1945 struct net_device *dev = (struct net_device *)dev_id;
1946 struct pcmcia_device *link; 1946 struct pcmcia_device *link;
diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c
index 5b69befdab74..24221e476cd3 100644
--- a/drivers/net/wireless/wavelan.c
+++ b/drivers/net/wireless/wavelan.c
@@ -3768,7 +3768,7 @@ static int wv_check_ioaddr(unsigned long ioaddr, u8 * mac)
3768 * This function is the interrupt handler for the WaveLAN card. This 3768 * This function is the interrupt handler for the WaveLAN card. This
3769 * routine will be called whenever: 3769 * routine will be called whenever:
3770 */ 3770 */
3771static irqreturn_t wavelan_interrupt(int irq, void *dev_id, struct pt_regs *regs) 3771static irqreturn_t wavelan_interrupt(int irq, void *dev_id)
3772{ 3772{
3773 struct net_device *dev; 3773 struct net_device *dev;
3774 unsigned long ioaddr; 3774 unsigned long ioaddr;
diff --git a/drivers/net/wireless/wavelan.p.h b/drivers/net/wireless/wavelan.p.h
index 5cb0bc8bb128..72b646c77d5a 100644
--- a/drivers/net/wireless/wavelan.p.h
+++ b/drivers/net/wireless/wavelan.p.h
@@ -642,8 +642,7 @@ static int
642/* ---------------------- INTERRUPT HANDLING ---------------------- */ 642/* ---------------------- INTERRUPT HANDLING ---------------------- */
643static irqreturn_t 643static irqreturn_t
644 wavelan_interrupt(int, /* interrupt handler */ 644 wavelan_interrupt(int, /* interrupt handler */
645 void *, 645 void *);
646 struct pt_regs *);
647static void 646static void
648 wavelan_watchdog(struct net_device *); /* transmission watchdog */ 647 wavelan_watchdog(struct net_device *); /* transmission watchdog */
649/* ------------------- CONFIGURATION CALLBACKS ------------------- */ 648/* ------------------- CONFIGURATION CALLBACKS ------------------- */
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c
index 0065f057bb1c..cadfe132db84 100644
--- a/drivers/net/wireless/wavelan_cs.c
+++ b/drivers/net/wireless/wavelan_cs.c
@@ -4117,8 +4117,7 @@ wv_pcmcia_release(struct pcmcia_device *link)
4117 */ 4117 */
4118static irqreturn_t 4118static irqreturn_t
4119wavelan_interrupt(int irq, 4119wavelan_interrupt(int irq,
4120 void * dev_id, 4120 void * dev_id)
4121 struct pt_regs * regs)
4122{ 4121{
4123 struct net_device * dev; 4122 struct net_device * dev;
4124 net_local * lp; 4123 net_local * lp;
diff --git a/drivers/net/wireless/wavelan_cs.p.h b/drivers/net/wireless/wavelan_cs.p.h
index f34a36b0c7b0..4d1c4905c749 100644
--- a/drivers/net/wireless/wavelan_cs.p.h
+++ b/drivers/net/wireless/wavelan_cs.p.h
@@ -738,8 +738,7 @@ static void
738/* ---------------------- INTERRUPT HANDLING ---------------------- */ 738/* ---------------------- INTERRUPT HANDLING ---------------------- */
739static irqreturn_t 739static irqreturn_t
740 wavelan_interrupt(int, /* Interrupt handler */ 740 wavelan_interrupt(int, /* Interrupt handler */
741 void *, 741 void *);
742 struct pt_regs *);
743static void 742static void
744 wavelan_watchdog(struct net_device *); /* Transmission watchdog */ 743 wavelan_watchdog(struct net_device *); /* Transmission watchdog */
745/* ------------------- CONFIGURATION CALLBACKS ------------------- */ 744/* ------------------- CONFIGURATION CALLBACKS ------------------- */
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c
index e3ae5f60d5be..a1430352169b 100644
--- a/drivers/net/wireless/wl3501_cs.c
+++ b/drivers/net/wireless/wl3501_cs.c
@@ -1145,7 +1145,6 @@ static inline void wl3501_ack_interrupt(struct wl3501_card *this)
1145 * wl3501_interrupt - Hardware interrupt from card. 1145 * wl3501_interrupt - Hardware interrupt from card.
1146 * @irq - Interrupt number 1146 * @irq - Interrupt number
1147 * @dev_id - net_device 1147 * @dev_id - net_device
1148 * @regs - registers
1149 * 1148 *
1150 * We must acknowledge the interrupt as soon as possible, and block the 1149 * We must acknowledge the interrupt as soon as possible, and block the
1151 * interrupt from the same card immediately to prevent re-entry. 1150 * interrupt from the same card immediately to prevent re-entry.
@@ -1154,7 +1153,7 @@ static inline void wl3501_ack_interrupt(struct wl3501_card *this)
1154 * On the other hand, to prevent SUTRO from malfunctioning, we must 1153 * On the other hand, to prevent SUTRO from malfunctioning, we must
1155 * unlock the SUTRO as soon as possible. 1154 * unlock the SUTRO as soon as possible.
1156 */ 1155 */
1157static irqreturn_t wl3501_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1156static irqreturn_t wl3501_interrupt(int irq, void *dev_id)
1158{ 1157{
1159 struct net_device *dev = (struct net_device *)dev_id; 1158 struct net_device *dev = (struct net_device *)dev_id;
1160 struct wl3501_card *this; 1159 struct wl3501_card *this;
diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c
index 80af9a9fcbb3..30057a335a7b 100644
--- a/drivers/net/wireless/zd1201.c
+++ b/drivers/net/wireless/zd1201.c
@@ -112,7 +112,7 @@ exit:
112 return err; 112 return err;
113} 113}
114 114
115static void zd1201_usbfree(struct urb *urb, struct pt_regs *regs) 115static void zd1201_usbfree(struct urb *urb)
116{ 116{
117 struct zd1201 *zd = urb->context; 117 struct zd1201 *zd = urb->context;
118 118
@@ -177,7 +177,7 @@ static int zd1201_docmd(struct zd1201 *zd, int cmd, int parm0,
177} 177}
178 178
179/* Callback after sending out a packet */ 179/* Callback after sending out a packet */
180static void zd1201_usbtx(struct urb *urb, struct pt_regs *regs) 180static void zd1201_usbtx(struct urb *urb)
181{ 181{
182 struct zd1201 *zd = urb->context; 182 struct zd1201 *zd = urb->context;
183 netif_wake_queue(zd->dev); 183 netif_wake_queue(zd->dev);
@@ -185,7 +185,7 @@ static void zd1201_usbtx(struct urb *urb, struct pt_regs *regs)
185} 185}
186 186
187/* Incoming data */ 187/* Incoming data */
188static void zd1201_usbrx(struct urb *urb, struct pt_regs *regs) 188static void zd1201_usbrx(struct urb *urb)
189{ 189{
190 struct zd1201 *zd = urb->context; 190 struct zd1201 *zd = urb->context;
191 int free = 0; 191 int free = 0;
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index 5c265ad0485a..3faaeb2b7c89 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -408,7 +408,7 @@ static inline void handle_retry_failed_int(struct urb *urb)
408} 408}
409 409
410 410
411static void int_urb_complete(struct urb *urb, struct pt_regs *pt_regs) 411static void int_urb_complete(struct urb *urb)
412{ 412{
413 int r; 413 int r;
414 struct usb_int_header *hdr; 414 struct usb_int_header *hdr;
@@ -609,7 +609,7 @@ static void handle_rx_packet(struct zd_usb *usb, const u8 *buffer,
609 } 609 }
610} 610}
611 611
612static void rx_urb_complete(struct urb *urb, struct pt_regs *pt_regs) 612static void rx_urb_complete(struct urb *urb)
613{ 613{
614 struct zd_usb *usb; 614 struct zd_usb *usb;
615 struct zd_usb_rx *rx; 615 struct zd_usb_rx *rx;
@@ -779,7 +779,7 @@ void zd_usb_disable_rx(struct zd_usb *usb)
779 spin_unlock_irqrestore(&rx->lock, flags); 779 spin_unlock_irqrestore(&rx->lock, flags);
780} 780}
781 781
782static void tx_urb_complete(struct urb *urb, struct pt_regs *pt_regs) 782static void tx_urb_complete(struct urb *urb)
783{ 783{
784 int r; 784 int r;
785 785
diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c
index a4c4953f1365..ac600212d9a9 100644
--- a/drivers/net/yellowfin.c
+++ b/drivers/net/yellowfin.c
@@ -350,7 +350,7 @@ static void yellowfin_timer(unsigned long data);
350static void yellowfin_tx_timeout(struct net_device *dev); 350static void yellowfin_tx_timeout(struct net_device *dev);
351static void yellowfin_init_ring(struct net_device *dev); 351static void yellowfin_init_ring(struct net_device *dev);
352static int yellowfin_start_xmit(struct sk_buff *skb, struct net_device *dev); 352static int yellowfin_start_xmit(struct sk_buff *skb, struct net_device *dev);
353static irqreturn_t yellowfin_interrupt(int irq, void *dev_instance, struct pt_regs *regs); 353static irqreturn_t yellowfin_interrupt(int irq, void *dev_instance);
354static int yellowfin_rx(struct net_device *dev); 354static int yellowfin_rx(struct net_device *dev);
355static void yellowfin_error(struct net_device *dev, int intr_status); 355static void yellowfin_error(struct net_device *dev, int intr_status);
356static int yellowfin_close(struct net_device *dev); 356static int yellowfin_close(struct net_device *dev);
@@ -888,7 +888,7 @@ static int yellowfin_start_xmit(struct sk_buff *skb, struct net_device *dev)
888 888
889/* The interrupt handler does all of the Rx thread work and cleans up 889/* The interrupt handler does all of the Rx thread work and cleans up
890 after the Tx thread. */ 890 after the Tx thread. */
891static irqreturn_t yellowfin_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 891static irqreturn_t yellowfin_interrupt(int irq, void *dev_instance)
892{ 892{
893 struct net_device *dev = dev_instance; 893 struct net_device *dev = dev_instance;
894 struct yellowfin_private *yp; 894 struct yellowfin_private *yp;
diff --git a/drivers/net/znet.c b/drivers/net/znet.c
index 656d5a02908b..2068a109a86c 100644
--- a/drivers/net/znet.c
+++ b/drivers/net/znet.c
@@ -158,7 +158,7 @@ struct netidblk {
158 158
159static int znet_open(struct net_device *dev); 159static int znet_open(struct net_device *dev);
160static int znet_send_packet(struct sk_buff *skb, struct net_device *dev); 160static int znet_send_packet(struct sk_buff *skb, struct net_device *dev);
161static irqreturn_t znet_interrupt(int irq, void *dev_id, struct pt_regs *regs); 161static irqreturn_t znet_interrupt(int irq, void *dev_id);
162static void znet_rx(struct net_device *dev); 162static void znet_rx(struct net_device *dev);
163static int znet_close(struct net_device *dev); 163static int znet_close(struct net_device *dev);
164static struct net_device_stats *net_get_stats(struct net_device *dev); 164static struct net_device_stats *net_get_stats(struct net_device *dev);
@@ -602,7 +602,7 @@ static int znet_send_packet(struct sk_buff *skb, struct net_device *dev)
602} 602}
603 603
604/* The ZNET interrupt handler. */ 604/* The ZNET interrupt handler. */
605static irqreturn_t znet_interrupt(int irq, void *dev_id, struct pt_regs * regs) 605static irqreturn_t znet_interrupt(int irq, void *dev_id)
606{ 606{
607 struct net_device *dev = dev_id; 607 struct net_device *dev = dev_id;
608 struct znet_private *znet = dev->priv; 608 struct znet_private *znet = dev->priv;