X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fni65.c;h=1578f4d984987eed6dfd0320b961721df4fe8068;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=bb42ff2184848df705d61f6418f3471d05c2677f;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c index bb42ff218..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; } @@ -871,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; @@ -881,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); @@ -1139,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; @@ -1163,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; @@ -1209,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); } @@ -1253,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);