X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fni65.c;h=1578f4d984987eed6dfd0320b961721df4fe8068;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=925d1dfcc4dc1f3fcfaad88827e31581a0d06591;hpb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;p=linux-2.6.git diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c index 925d1dfcc..1578f4d98 100644 --- a/drivers/net/ni65.c +++ b/drivers/net/ni65.c @@ -248,7 +248,7 @@ struct priv }; static int ni65_probe1(struct net_device *dev,int); -static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs *regs); +static irqreturn_t ni65_interrupt(int irq, void * dev_id); static void ni65_recv_intr(struct net_device *dev,int); static void ni65_xmit_intr(struct net_device *dev,int); static int ni65_open(struct net_device *dev); @@ -324,7 +324,7 @@ static int ni65_close(struct net_device *dev) struct priv *p = (struct priv *) dev->priv; netif_stop_queue(dev); - + outw(inw(PORT+L_RESET),PORT+L_RESET); /* that's the hard way */ #ifdef XMT_VIA_SKB @@ -489,20 +489,20 @@ static int __init ni65_probe1(struct net_device *dev,int ioaddr) int dma = dmatab[i]; if(test_bit(dma,&dma_channels) || request_dma(dma,"ni6510")) continue; - + flags=claim_dma_lock(); disable_dma(dma); set_dma_mode(dma,DMA_MODE_CASCADE); enable_dma(dma); release_dma_lock(flags); - + ni65_init_lance(p,dev->dev_addr,0,0); /* trigger memory access */ - + flags=claim_dma_lock(); disable_dma(dma); free_dma(dma); release_dma_lock(flags); - + if(readreg(CSR0) & CSR0_IDON) break; } @@ -696,8 +696,7 @@ static void ni65_free_buffer(struct priv *p) return; for(i=0;itmdbounce[i]) - kfree(p->tmdbounce[i]); + kfree(p->tmdbounce[i]); #ifdef XMT_VIA_SKB if(p->tmd_skb[i]) dev_kfree_skb(p->tmd_skb[i]); @@ -710,12 +709,10 @@ static void ni65_free_buffer(struct priv *p) if(p->recv_skb[i]) dev_kfree_skb(p->recv_skb[i]); #else - if(p->recvbounce[i]) - kfree(p->recvbounce[i]); + kfree(p->recvbounce[i]); #endif } - if(p->self) - kfree(p->self); + kfree(p->self); } @@ -874,7 +871,7 @@ static int ni65_lance_reinit(struct net_device *dev) /* * interrupt handler */ -static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs * regs) +static irqreturn_t ni65_interrupt(int irq, void * dev_id) { int csr0 = 0; struct net_device *dev = dev_id; @@ -884,7 +881,7 @@ static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs * regs) p = (struct priv *) dev->priv; spin_lock(&p->ring_lock); - + while(--bcnt) { csr0 = inw(PORT+L_DATAREG); @@ -1142,7 +1139,7 @@ static void ni65_recv_intr(struct net_device *dev,int csr0) /* * kick xmitter .. */ - + static void ni65_timeout(struct net_device *dev) { int i; @@ -1166,7 +1163,7 @@ static int ni65_send_packet(struct sk_buff *skb, struct net_device *dev) struct priv *p = (struct priv *) dev->priv; netif_stop_queue(dev); - + if (test_and_set_bit(0, (void*)&p->lock)) { printk(KERN_ERR "%s: Queue was locked.\n", dev->name); return 1; @@ -1212,10 +1209,10 @@ static int ni65_send_packet(struct sk_buff *skb, struct net_device *dev) if(p->tmdnum != p->tmdlast) netif_wake_queue(dev); - + p->lock = 0; dev->trans_start = jiffies; - + spin_unlock_irqrestore(&p->ring_lock, flags); } @@ -1256,13 +1253,13 @@ MODULE_PARM_DESC(irq, "ni6510 IRQ number (ignored for some cards)"); MODULE_PARM_DESC(io, "ni6510 I/O base address"); MODULE_PARM_DESC(dma, "ni6510 ISA DMA channel (ignored for some cards)"); -int init_module(void) +int __init init_module(void) { dev_ni65 = ni65_probe(-1); return IS_ERR(dev_ni65) ? PTR_ERR(dev_ni65) : 0; } -void cleanup_module(void) +void __exit cleanup_module(void) { unregister_netdev(dev_ni65); cleanup_card(dev_ni65);