diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-23 21:57:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-23 21:57:39 -0400 |
commit | 25c263542ddf9396012b6a6fa2b327d304f7f9a3 (patch) | |
tree | d7258f81da125b0bf4a2ce0ede2e79db38a7ed04 /drivers/net | |
parent | d8581969904b8a72db726c4b9090234c0f0bb18f (diff) | |
parent | 7c2399756ab8ccb2c57da4630b4aa4a1d61b3846 (diff) |
Merge branch 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6
* 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
[SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate
drivers/char/riscom8: clean up irq handling
isdn/sc: irq handler clean
isdn/act2000: fix major bug. clean irq handler.
char/pcmcia/synclink_cs: trim trailing whitespace
drivers/char/ip2: separate polling and irq-driven work entry points
drivers/char/ip2: split out irq core logic into separate function
[NETDRVR] lib82596, netxen: delete pointless tests from irq handler
Eliminate pointless casts from void* in a few driver irq handlers.
[PARPORT] Remove unused 'irq' argument from parport irq functions
[PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}
[PARPORT] Consolidate code copies into a single generic irq handler
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/cxgb3/adapter.h | 4 | ||||
-rw-r--r-- | drivers/net/cxgb3/sge.c | 2 | ||||
-rw-r--r-- | drivers/net/hamradio/baycom_epp.c | 8 | ||||
-rw-r--r-- | drivers/net/hamradio/baycom_par.c | 4 | ||||
-rw-r--r-- | drivers/net/lib82596.c | 8 | ||||
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 11 | ||||
-rw-r--r-- | drivers/net/plip.c | 6 | ||||
-rw-r--r-- | drivers/net/typhoon.c | 2 | ||||
-rw-r--r-- | drivers/net/ucc_geth.c | 2 | ||||
-rw-r--r-- | drivers/net/wan/sbni.c | 4 |
10 files changed, 15 insertions, 36 deletions
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h index 2a3df145850d..60a62f510db7 100644 --- a/drivers/net/cxgb3/adapter.h +++ b/drivers/net/cxgb3/adapter.h | |||
@@ -46,8 +46,6 @@ | |||
46 | #include <asm/semaphore.h> | 46 | #include <asm/semaphore.h> |
47 | #include <asm/io.h> | 47 | #include <asm/io.h> |
48 | 48 | ||
49 | typedef irqreturn_t(*intr_handler_t) (int, void *); | ||
50 | |||
51 | struct vlan_group; | 49 | struct vlan_group; |
52 | struct adapter; | 50 | struct adapter; |
53 | struct sge_qset; | 51 | struct sge_qset; |
@@ -270,7 +268,7 @@ void t3_sge_start(struct adapter *adap); | |||
270 | void t3_sge_stop(struct adapter *adap); | 268 | void t3_sge_stop(struct adapter *adap); |
271 | void t3_free_sge_resources(struct adapter *adap); | 269 | void t3_free_sge_resources(struct adapter *adap); |
272 | void t3_sge_err_intr_handler(struct adapter *adapter); | 270 | void t3_sge_err_intr_handler(struct adapter *adapter); |
273 | intr_handler_t t3_intr_handler(struct adapter *adap, int polling); | 271 | irq_handler_t t3_intr_handler(struct adapter *adap, int polling); |
274 | int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev); | 272 | int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev); |
275 | int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb); | 273 | int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb); |
276 | void t3_update_qset_coalesce(struct sge_qset *qs, const struct qset_params *p); | 274 | void t3_update_qset_coalesce(struct sge_qset *qs, const struct qset_params *p); |
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 994b5d6404df..c15e43a8543b 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -2431,7 +2431,7 @@ static irqreturn_t t3b_intr_napi(int irq, void *cookie) | |||
2431 | * (MSI-X, MSI, or legacy) and whether NAPI will be used to service the | 2431 | * (MSI-X, MSI, or legacy) and whether NAPI will be used to service the |
2432 | * response queues. | 2432 | * response queues. |
2433 | */ | 2433 | */ |
2434 | intr_handler_t t3_intr_handler(struct adapter *adap, int polling) | 2434 | irq_handler_t t3_intr_handler(struct adapter *adap, int polling) |
2435 | { | 2435 | { |
2436 | if (adap->flags & USING_MSIX) | 2436 | if (adap->flags & USING_MSIX) |
2437 | return polling ? t3_sge_intr_msix_napi : t3_sge_intr_msix; | 2437 | return polling ? t3_sge_intr_msix_napi : t3_sge_intr_msix; |
diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c index 1a5a75acf73e..dde9c7e6408a 100644 --- a/drivers/net/hamradio/baycom_epp.c +++ b/drivers/net/hamradio/baycom_epp.c | |||
@@ -325,12 +325,6 @@ static int eppconfig(struct baycom_state *bc) | |||
325 | 325 | ||
326 | /* ---------------------------------------------------------------------- */ | 326 | /* ---------------------------------------------------------------------- */ |
327 | 327 | ||
328 | static void epp_interrupt(int irq, void *dev_id) | ||
329 | { | ||
330 | } | ||
331 | |||
332 | /* ---------------------------------------------------------------------- */ | ||
333 | |||
334 | static inline void do_kiss_params(struct baycom_state *bc, | 328 | static inline void do_kiss_params(struct baycom_state *bc, |
335 | unsigned char *data, unsigned long len) | 329 | unsigned char *data, unsigned long len) |
336 | { | 330 | { |
@@ -871,7 +865,7 @@ static int epp_open(struct net_device *dev) | |||
871 | } | 865 | } |
872 | memset(&bc->modem, 0, sizeof(bc->modem)); | 866 | memset(&bc->modem, 0, sizeof(bc->modem)); |
873 | bc->pdev = parport_register_device(pp, dev->name, NULL, epp_wakeup, | 867 | bc->pdev = parport_register_device(pp, dev->name, NULL, epp_wakeup, |
874 | epp_interrupt, PARPORT_DEV_EXCL, dev); | 868 | NULL, PARPORT_DEV_EXCL, dev); |
875 | parport_put_port(pp); | 869 | parport_put_port(pp); |
876 | if (!bc->pdev) { | 870 | if (!bc->pdev) { |
877 | printk(KERN_ERR "%s: cannot register parport at 0x%lx\n", bc_drvname, pp->base); | 871 | printk(KERN_ERR "%s: cannot register parport at 0x%lx\n", bc_drvname, pp->base); |
diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c index 5930aeb35015..2e6fc4dc74b1 100644 --- a/drivers/net/hamradio/baycom_par.c +++ b/drivers/net/hamradio/baycom_par.c | |||
@@ -270,9 +270,9 @@ static __inline__ void par96_rx(struct net_device *dev, struct baycom_state *bc) | |||
270 | 270 | ||
271 | /* --------------------------------------------------------------------- */ | 271 | /* --------------------------------------------------------------------- */ |
272 | 272 | ||
273 | static void par96_interrupt(int irq, void *dev_id) | 273 | static void par96_interrupt(void *dev_id) |
274 | { | 274 | { |
275 | struct net_device *dev = (struct net_device *)dev_id; | 275 | struct net_device *dev = dev_id; |
276 | struct baycom_state *bc = netdev_priv(dev); | 276 | struct baycom_state *bc = netdev_priv(dev); |
277 | 277 | ||
278 | baycom_int_freq(bc); | 278 | baycom_int_freq(bc); |
diff --git a/drivers/net/lib82596.c b/drivers/net/lib82596.c index ffaa14f2cd01..9a855e512147 100644 --- a/drivers/net/lib82596.c +++ b/drivers/net/lib82596.c | |||
@@ -1124,12 +1124,6 @@ static irqreturn_t i596_interrupt(int irq, void *dev_id) | |||
1124 | struct i596_dma *dma; | 1124 | struct i596_dma *dma; |
1125 | unsigned short status, ack_cmd = 0; | 1125 | unsigned short status, ack_cmd = 0; |
1126 | 1126 | ||
1127 | if (dev == NULL) { | ||
1128 | printk(KERN_WARNING "%s: irq %d for unknown device.\n", | ||
1129 | __FUNCTION__, irq); | ||
1130 | return IRQ_NONE; | ||
1131 | } | ||
1132 | |||
1133 | lp = netdev_priv(dev); | 1127 | lp = netdev_priv(dev); |
1134 | dma = lp->dma; | 1128 | dma = lp->dma; |
1135 | 1129 | ||
@@ -1140,7 +1134,7 @@ static irqreturn_t i596_interrupt(int irq, void *dev_id) | |||
1140 | 1134 | ||
1141 | DEB(DEB_INTS, printk(KERN_DEBUG | 1135 | DEB(DEB_INTS, printk(KERN_DEBUG |
1142 | "%s: i596 interrupt, IRQ %d, status %4.4x.\n", | 1136 | "%s: i596 interrupt, IRQ %d, status %4.4x.\n", |
1143 | dev->name, irq, status)); | 1137 | dev->name, dev->irq, status)); |
1144 | 1138 | ||
1145 | ack_cmd = status & 0xf000; | 1139 | ack_cmd = status & 0xf000; |
1146 | 1140 | ||
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 601051c584e8..a80f0cd6b528 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -1268,17 +1268,10 @@ netxen_handle_int(struct netxen_adapter *adapter, struct net_device *netdev) | |||
1268 | */ | 1268 | */ |
1269 | irqreturn_t netxen_intr(int irq, void *data) | 1269 | irqreturn_t netxen_intr(int irq, void *data) |
1270 | { | 1270 | { |
1271 | struct netxen_adapter *adapter; | 1271 | struct netxen_adapter *adapter = data; |
1272 | struct net_device *netdev; | 1272 | struct net_device *netdev = adapter->netdev; |
1273 | u32 our_int = 0; | 1273 | u32 our_int = 0; |
1274 | 1274 | ||
1275 | if (unlikely(!irq)) { | ||
1276 | return IRQ_NONE; /* Not our interrupt */ | ||
1277 | } | ||
1278 | |||
1279 | adapter = (struct netxen_adapter *)data; | ||
1280 | netdev = adapter->netdev; | ||
1281 | |||
1282 | if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { | 1275 | if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { |
1283 | our_int = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_INT_VECTOR)); | 1276 | our_int = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_INT_VECTOR)); |
1284 | /* not our interrupt */ | 1277 | /* not our interrupt */ |
diff --git a/drivers/net/plip.c b/drivers/net/plip.c index b5e9981d1060..5071fcd8a0bd 100644 --- a/drivers/net/plip.c +++ b/drivers/net/plip.c | |||
@@ -143,7 +143,7 @@ static void plip_bh(struct work_struct *work); | |||
143 | static void plip_timer_bh(struct work_struct *work); | 143 | static void plip_timer_bh(struct work_struct *work); |
144 | 144 | ||
145 | /* Interrupt handler */ | 145 | /* Interrupt handler */ |
146 | static void plip_interrupt(int irq, void *dev_id); | 146 | static void plip_interrupt(void *dev_id); |
147 | 147 | ||
148 | /* Functions for DEV methods */ | 148 | /* Functions for DEV methods */ |
149 | static int plip_tx_packet(struct sk_buff *skb, struct net_device *dev); | 149 | static int plip_tx_packet(struct sk_buff *skb, struct net_device *dev); |
@@ -380,7 +380,7 @@ plip_timer_bh(struct work_struct *work) | |||
380 | container_of(work, struct net_local, timer.work); | 380 | container_of(work, struct net_local, timer.work); |
381 | 381 | ||
382 | if (!(atomic_read (&nl->kill_timer))) { | 382 | if (!(atomic_read (&nl->kill_timer))) { |
383 | plip_interrupt (-1, nl->dev); | 383 | plip_interrupt (nl->dev); |
384 | 384 | ||
385 | schedule_delayed_work(&nl->timer, 1); | 385 | schedule_delayed_work(&nl->timer, 1); |
386 | } | 386 | } |
@@ -897,7 +897,7 @@ plip_error(struct net_device *dev, struct net_local *nl, | |||
897 | 897 | ||
898 | /* Handle the parallel port interrupts. */ | 898 | /* Handle the parallel port interrupts. */ |
899 | static void | 899 | static void |
900 | plip_interrupt(int irq, void *dev_id) | 900 | plip_interrupt(void *dev_id) |
901 | { | 901 | { |
902 | struct net_device *dev = dev_id; | 902 | struct net_device *dev = dev_id; |
903 | struct net_local *nl; | 903 | struct net_local *nl; |
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 72e5e9be7e99..94ac5869bb18 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c | |||
@@ -1801,7 +1801,7 @@ typhoon_poll(struct napi_struct *napi, int budget) | |||
1801 | static irqreturn_t | 1801 | static irqreturn_t |
1802 | typhoon_interrupt(int irq, void *dev_instance) | 1802 | typhoon_interrupt(int irq, void *dev_instance) |
1803 | { | 1803 | { |
1804 | struct net_device *dev = (struct net_device *) dev_instance; | 1804 | struct net_device *dev = dev_instance; |
1805 | struct typhoon *tp = dev->priv; | 1805 | struct typhoon *tp = dev->priv; |
1806 | void __iomem *ioaddr = tp->ioaddr; | 1806 | void __iomem *ioaddr = tp->ioaddr; |
1807 | u32 intr_status; | 1807 | u32 intr_status; |
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index bec413ba9bca..9741d613ba6f 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c | |||
@@ -3607,7 +3607,7 @@ static int ucc_geth_poll(struct napi_struct *napi, int budget) | |||
3607 | 3607 | ||
3608 | static irqreturn_t ucc_geth_irq_handler(int irq, void *info) | 3608 | static irqreturn_t ucc_geth_irq_handler(int irq, void *info) |
3609 | { | 3609 | { |
3610 | struct net_device *dev = (struct net_device *)info; | 3610 | struct net_device *dev = info; |
3611 | struct ucc_geth_private *ugeth = netdev_priv(dev); | 3611 | struct ucc_geth_private *ugeth = netdev_priv(dev); |
3612 | struct ucc_fast_private *uccf; | 3612 | struct ucc_fast_private *uccf; |
3613 | struct ucc_geth_info *ug_info; | 3613 | struct ucc_geth_info *ug_info; |
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c index 76db40d200d8..2e8b5c2de887 100644 --- a/drivers/net/wan/sbni.c +++ b/drivers/net/wan/sbni.c | |||
@@ -502,8 +502,8 @@ sbni_start_xmit( struct sk_buff *skb, struct net_device *dev ) | |||
502 | static irqreturn_t | 502 | static irqreturn_t |
503 | sbni_interrupt( int irq, void *dev_id ) | 503 | sbni_interrupt( int irq, void *dev_id ) |
504 | { | 504 | { |
505 | struct net_device *dev = (struct net_device *) dev_id; | 505 | struct net_device *dev = dev_id; |
506 | struct net_local *nl = (struct net_local *) dev->priv; | 506 | struct net_local *nl = dev->priv; |
507 | int repeat; | 507 | int repeat; |
508 | 508 | ||
509 | spin_lock( &nl->lock ); | 509 | spin_lock( &nl->lock ); |