aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2007-10-29 05:46:16 -0400
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:03:40 -0500
commit28fc1f5a0c375cb6375fa48e9a8b393f2a189be6 (patch)
tree95b3b517b02dd46ff0fc2728c1e70de8d6f78ed3 /drivers
parent1b36efe07f83ecf50eddd431d067c7bf86318e87 (diff)
[netdrvr] irq handler minor cleanups in several drivers
* use irq_handler_t where appropriate * no need to use 'irq' function arg, its already stored in a data struct * rename irq handler 'irq' argument to 'dummy', where the function has been analyzed and proven not to use its first argument. * remove always-false "dev_id == NULL" test from irq handlers * remove pointless casts from void* * declance: irq argument is not const * add KERN_xxx printk prefix * fix minor whitespace weirdness Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/cpmac.c3
-rw-r--r--drivers/net/declance.c6
-rw-r--r--drivers/net/eexpress.c11
-rw-r--r--drivers/net/ibmlana.c4
-rw-r--r--drivers/net/irda/irport.h2
-rw-r--r--drivers/net/irda/smsc-ircc2.c17
-rw-r--r--drivers/net/irda/via-ircc.c12
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c2
-rw-r--r--drivers/net/lp486e.c9
-rw-r--r--drivers/net/pcmcia/fmvj18x_cs.c7
-rw-r--r--drivers/net/ucc_geth.c3
-rw-r--r--drivers/net/wan/farsync.c11
-rw-r--r--drivers/net/wan/sdla.c5
-rw-r--r--drivers/net/wireless/airo.c5
-rw-r--r--drivers/net/wireless/hostap/hostap_hw.c2
-rw-r--r--drivers/net/wireless/libertas/if_cs.c2
16 files changed, 36 insertions, 65 deletions
diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c
index 6e12d48351b8..6ccebb830ff9 100644
--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
@@ -661,9 +661,6 @@ static irqreturn_t cpmac_irq(int irq, void *dev_id)
661 int queue; 661 int queue;
662 u32 status; 662 u32 status;
663 663
664 if (!dev)
665 return IRQ_NONE;
666
667 priv = netdev_priv(dev); 664 priv = netdev_priv(dev);
668 665
669 status = cpmac_read(priv->regs, CPMAC_MAC_INT_VECTOR); 666 status = cpmac_read(priv->regs, CPMAC_MAC_INT_VECTOR);
diff --git a/drivers/net/declance.c b/drivers/net/declance.c
index 00e0194bfef0..6b1e77cc069e 100644
--- a/drivers/net/declance.c
+++ b/drivers/net/declance.c
@@ -719,15 +719,15 @@ out:
719 spin_unlock(&lp->lock); 719 spin_unlock(&lp->lock);
720} 720}
721 721
722static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id) 722static irqreturn_t lance_dma_merr_int(int irq, void *dev_id)
723{ 723{
724 struct net_device *dev = dev_id; 724 struct net_device *dev = dev_id;
725 725
726 printk("%s: DMA error\n", dev->name); 726 printk(KERN_ERR "%s: DMA error\n", dev->name);
727 return IRQ_HANDLED; 727 return IRQ_HANDLED;
728} 728}
729 729
730static irqreturn_t lance_interrupt(const int irq, void *dev_id) 730static irqreturn_t lance_interrupt(int irq, void *dev_id)
731{ 731{
732 struct net_device *dev = dev_id; 732 struct net_device *dev = dev_id;
733 struct lance_private *lp = netdev_priv(dev); 733 struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index 70509ed6c11d..8969c3b6d443 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -456,8 +456,9 @@ static int eexp_open(struct net_device *dev)
456 if (!dev->irq || !irqrmap[dev->irq]) 456 if (!dev->irq || !irqrmap[dev->irq])
457 return -ENXIO; 457 return -ENXIO;
458 458
459 ret = request_irq(dev->irq,&eexp_irq,0,dev->name,dev); 459 ret = request_irq(dev->irq, &eexp_irq, 0, dev->name, dev);
460 if (ret) return ret; 460 if (ret)
461 return ret;
461 462
462 if (!request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress")) { 463 if (!request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress")) {
463 printk(KERN_WARNING "EtherExpress io port %x, is busy.\n" 464 printk(KERN_WARNING "EtherExpress io port %x, is busy.\n"
@@ -768,7 +769,7 @@ static void eexp_cmd_clear(struct net_device *dev)
768 } 769 }
769} 770}
770 771
771static irqreturn_t eexp_irq(int irq, void *dev_info) 772static irqreturn_t eexp_irq(int dummy, void *dev_info)
772{ 773{
773 struct net_device *dev = dev_info; 774 struct net_device *dev = dev_info;
774 struct net_local *lp; 775 struct net_local *lp;
@@ -783,7 +784,7 @@ static irqreturn_t eexp_irq(int irq, void *dev_info)
783 old_read_ptr = inw(ioaddr+READ_PTR); 784 old_read_ptr = inw(ioaddr+READ_PTR);
784 old_write_ptr = inw(ioaddr+WRITE_PTR); 785 old_write_ptr = inw(ioaddr+WRITE_PTR);
785 786
786 outb(SIRQ_dis|irqrmap[irq],ioaddr+SET_IRQ); 787 outb(SIRQ_dis|irqrmap[dev->irq],ioaddr+SET_IRQ);
787 788
788 789
789 status = scb_status(dev); 790 status = scb_status(dev);
@@ -851,7 +852,7 @@ static irqreturn_t eexp_irq(int irq, void *dev_info)
851 852
852 eexp_cmd_clear(dev); 853 eexp_cmd_clear(dev);
853 854
854 outb(SIRQ_en|irqrmap[irq],ioaddr+SET_IRQ); 855 outb(SIRQ_en|irqrmap[dev->irq],ioaddr+SET_IRQ);
855 856
856#if NET_DEBUG > 6 857#if NET_DEBUG > 6
857 printk("%s: leaving eexp_irq()\n", dev->name); 858 printk("%s: leaving eexp_irq()\n", dev->name);
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 91d83aca6bc7..65626d61de46 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -704,9 +704,9 @@ static void irqtxerr_handler(struct net_device *dev)
704 704
705/* general interrupt entry */ 705/* general interrupt entry */
706 706
707static irqreturn_t irq_handler(int irq, void *device) 707static irqreturn_t irq_handler(int dummy, void *device)
708{ 708{
709 struct net_device *dev = (struct net_device *) device; 709 struct net_device *dev = device;
710 u16 ival; 710 u16 ival;
711 711
712 /* in case we're not meant... */ 712 /* in case we're not meant... */
diff --git a/drivers/net/irda/irport.h b/drivers/net/irda/irport.h
index 66fc2433e97d..39829cffba13 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 irqreturn_t (*interrupt)(int irq, void *dev_id); 77 irq_handler_t interrupt;
78}; 78};
79 79
80#endif /* IRPORT_H */ 80#endif /* IRPORT_H */
diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c
index 7e7b5828214a..1f26da761e9f 100644
--- a/drivers/net/irda/smsc-ircc2.c
+++ b/drivers/net/irda/smsc-ircc2.c
@@ -1505,22 +1505,13 @@ static void smsc_ircc_sir_receive(struct smsc_ircc_cb *self)
1505 * An interrupt from the chip has arrived. Time to do some work 1505 * An interrupt from the chip has arrived. Time to do some work
1506 * 1506 *
1507 */ 1507 */
1508static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id) 1508static irqreturn_t smsc_ircc_interrupt(int dummy, void *dev_id)
1509{ 1509{
1510 struct net_device *dev = (struct net_device *) dev_id; 1510 struct net_device *dev = dev_id;
1511 struct smsc_ircc_cb *self; 1511 struct smsc_ircc_cb *self = netdev_priv(dev);
1512 int iobase, iir, lcra, lsr; 1512 int iobase, iir, lcra, lsr;
1513 irqreturn_t ret = IRQ_NONE; 1513 irqreturn_t ret = IRQ_NONE;
1514 1514
1515 if (dev == NULL) {
1516 printk(KERN_WARNING "%s: irq %d for unknown device.\n",
1517 driver_name, irq);
1518 goto irq_ret;
1519 }
1520
1521 self = netdev_priv(dev);
1522 IRDA_ASSERT(self != NULL, return IRQ_NONE;);
1523
1524 /* Serialise the interrupt handler in various CPUs, stop Tx path */ 1515 /* Serialise the interrupt handler in various CPUs, stop Tx path */
1525 spin_lock(&self->lock); 1516 spin_lock(&self->lock);
1526 1517
@@ -1565,7 +1556,7 @@ static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id)
1565 1556
1566 irq_ret_unlock: 1557 irq_ret_unlock:
1567 spin_unlock(&self->lock); 1558 spin_unlock(&self->lock);
1568 irq_ret: 1559
1569 return ret; 1560 return ret;
1570} 1561}
1571 1562
diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c
index 126ec7c8680e..58e128784585 100644
--- a/drivers/net/irda/via-ircc.c
+++ b/drivers/net/irda/via-ircc.c
@@ -1346,19 +1346,13 @@ static int RxTimerHandler(struct via_ircc_cb *self, int iobase)
1346 * An interrupt from the chip has arrived. Time to do some work 1346 * An interrupt from the chip has arrived. Time to do some work
1347 * 1347 *
1348 */ 1348 */
1349static irqreturn_t via_ircc_interrupt(int irq, void *dev_id) 1349static irqreturn_t via_ircc_interrupt(int dummy, void *dev_id)
1350{ 1350{
1351 struct net_device *dev = (struct net_device *) dev_id; 1351 struct net_device *dev = dev_id;
1352 struct via_ircc_cb *self; 1352 struct via_ircc_cb *self = dev->priv;
1353 int iobase; 1353 int iobase;
1354 u8 iHostIntType, iRxIntType, iTxIntType; 1354 u8 iHostIntType, iRxIntType, iTxIntType;
1355 1355
1356 if (!dev) {
1357 IRDA_WARNING("%s: irq %d for unknown device.\n", driver_name,
1358 irq);
1359 return IRQ_NONE;
1360 }
1361 self = (struct via_ircc_cb *) dev->priv;
1362 iobase = self->io.fir_base; 1356 iobase = self->io.fir_base;
1363 spin_lock(&self->lock); 1357 spin_lock(&self->lock);
1364 iHostIntType = GetHostStatus(iobase); 1358 iHostIntType = GetHostStatus(iobase);
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index a4265bc1cebb..88341bfb5634 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -734,7 +734,7 @@ static int ixgbe_request_irq(struct ixgbe_adapter *adapter, u32 *num_rx_queues)
734{ 734{
735 struct net_device *netdev = adapter->netdev; 735 struct net_device *netdev = adapter->netdev;
736 int flags, err; 736 int flags, err;
737 irqreturn_t(*handler) (int, void *) = &ixgbe_intr; 737 irq_handler_t handler = ixgbe_intr;
738 738
739 flags = IRQF_SHARED; 739 flags = IRQF_SHARED;
740 740
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index c5095ecd8b11..0eff1a00c43c 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -1144,14 +1144,13 @@ i596_handle_CU_completion(struct net_device *dev,
1144} 1144}
1145 1145
1146static irqreturn_t 1146static irqreturn_t
1147i596_interrupt (int irq, void *dev_instance) { 1147i596_interrupt (int irq, void *dev_instance)
1148 struct net_device *dev = (struct net_device *) dev_instance; 1148{
1149 struct i596_private *lp; 1149 struct net_device *dev = dev_instance;
1150 struct i596_private *lp = dev->priv;
1150 unsigned short status, ack_cmd = 0; 1151 unsigned short status, ack_cmd = 0;
1151 int frames_in = 0; 1152 int frames_in = 0;
1152 1153
1153 lp = (struct i596_private *) dev->priv;
1154
1155 /* 1154 /*
1156 * The 82596 examines the command, performs the required action, 1155 * The 82596 examines the command, performs the required action,
1157 * and then clears the SCB command word. 1156 * and then clears the SCB command word.
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index 8c719b4df544..949c6df74c97 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -731,18 +731,13 @@ module_exit(exit_fmvj18x_cs);
731 731
732/*====================================================================*/ 732/*====================================================================*/
733 733
734static irqreturn_t fjn_interrupt(int irq, void *dev_id) 734static irqreturn_t fjn_interrupt(int dummy, void *dev_id)
735{ 735{
736 struct net_device *dev = dev_id; 736 struct net_device *dev = dev_id;
737 local_info_t *lp = netdev_priv(dev); 737 local_info_t *lp = netdev_priv(dev);
738 kio_addr_t ioaddr; 738 kio_addr_t ioaddr;
739 unsigned short tx_stat, rx_stat; 739 unsigned short tx_stat, rx_stat;
740 740
741 if (lp == NULL) {
742 printk(KERN_NOTICE "fjn_interrupt(): irq %d for "
743 "unknown device.\n", irq);
744 return IRQ_NONE;
745 }
746 ioaddr = dev->base_addr; 741 ioaddr = dev->base_addr;
747 742
748 /* avoid multiple interrupts */ 743 /* avoid multiple interrupts */
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index abac7db3819e..73d6ac9406b3 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3614,9 +3614,6 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void *info)
3614 3614
3615 ugeth_vdbg("%s: IN", __FUNCTION__); 3615 ugeth_vdbg("%s: IN", __FUNCTION__);
3616 3616
3617 if (!ugeth)
3618 return IRQ_NONE;
3619
3620 uccf = ugeth->uccf; 3617 uccf = ugeth->uccf;
3621 ug_info = ugeth->ug_info; 3618 ug_info = ugeth->ug_info;
3622 3619
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 12dae8e24844..cf27bf40d36e 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -1498,9 +1498,9 @@ 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) 1501fst_intr(int dummy, void *dev_id)
1502{ 1502{
1503 struct fst_card_info *card; 1503 struct fst_card_info *card = dev_id;
1504 struct fst_port_info *port; 1504 struct fst_port_info *port;
1505 int rdidx; /* Event buffer indices */ 1505 int rdidx; /* Event buffer indices */
1506 int wridx; 1506 int wridx;
@@ -1509,17 +1509,12 @@ fst_intr(int irq, void *dev_id)
1509 unsigned int do_card_interrupt; 1509 unsigned int do_card_interrupt;
1510 unsigned int int_retry_count; 1510 unsigned int int_retry_count;
1511 1511
1512 if ((card = dev_id) == NULL) {
1513 dbg(DBG_INTR, "intr: spurious %d\n", irq);
1514 return IRQ_NONE;
1515 }
1516
1517 /* 1512 /*
1518 * Check to see if the interrupt was for this card 1513 * Check to see if the interrupt was for this card
1519 * return if not 1514 * return if not
1520 * Note that the call to clear the interrupt is important 1515 * Note that the call to clear the interrupt is important
1521 */ 1516 */
1522 dbg(DBG_INTR, "intr: %d %p\n", irq, card); 1517 dbg(DBG_INTR, "intr: %d %p\n", card->irq, card);
1523 if (card->state != FST_RUNNING) { 1518 if (card->state != FST_RUNNING) {
1524 printk_err 1519 printk_err
1525 ("Interrupt received for card %d in a non running state (%d)\n", 1520 ("Interrupt received for card %d in a non running state (%d)\n",
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
index 05df0a345b60..73e2f2780932 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) 870static irqreturn_t sdla_isr(int dummy, 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;
@@ -879,7 +879,8 @@ static irqreturn_t sdla_isr(int irq, void *dev_id)
879 879
880 if (!flp->initialized) 880 if (!flp->initialized)
881 { 881 {
882 printk(KERN_WARNING "%s: irq %d for uninitialized device.\n", dev->name, irq); 882 printk(KERN_WARNING "%s: irq %d for uninitialized device.\n",
883 dev->name, dev->irq);
883 return IRQ_NONE; 884 return IRQ_NONE;
884 } 885 }
885 886
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index e3eca6d047c7..d8948bf8a275 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -3177,8 +3177,9 @@ static int airo_thread(void *data) {
3177 return 0; 3177 return 0;
3178} 3178}
3179 3179
3180static irqreturn_t airo_interrupt ( int irq, void* dev_id) { 3180static irqreturn_t airo_interrupt(int irq, void *dev_id)
3181 struct net_device *dev = (struct net_device *)dev_id; 3181{
3182 struct net_device *dev = dev_id;
3182 u16 status; 3183 u16 status;
3183 u16 fid; 3184 u16 fid;
3184 struct airo_info *apriv = dev->priv; 3185 struct airo_info *apriv = dev->priv;
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index c592641e914e..286b46c516ce 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -2624,7 +2624,7 @@ static void prism2_check_magic(local_info_t *local)
2624/* Called only from hardware IRQ */ 2624/* Called only from hardware IRQ */
2625static irqreturn_t prism2_interrupt(int irq, void *dev_id) 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 = dev_id;
2628 struct hostap_interface *iface; 2628 struct hostap_interface *iface;
2629 local_info_t *local; 2629 local_info_t *local;
2630 int events = 0; 2630 int events = 0;
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index ba4fc2b3bf0a..d383c0f9fe3e 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -243,7 +243,7 @@ static inline void if_cs_disable_ints(struct if_cs_card *card)
243 243
244static irqreturn_t if_cs_interrupt(int irq, void *data) 244static irqreturn_t if_cs_interrupt(int irq, void *data)
245{ 245{
246 struct if_cs_card *card = (struct if_cs_card *)data; 246 struct if_cs_card *card = data;
247 u16 int_cause; 247 u16 int_cause;
248 248
249 lbs_deb_enter(LBS_DEB_CS); 249 lbs_deb_enter(LBS_DEB_CS);