X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Flp486e.c;h=177c502f73857d38ef4a52ada04d0f56065b93ba;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=6139f06d7d2b9b398bb1649f14f87f90d1c513f6;hpb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;p=linux-2.6.git diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c index 6139f06d7..177c502f7 100644 --- a/drivers/net/lp486e.c +++ b/drivers/net/lp486e.c @@ -56,8 +56,6 @@ PORT SIZE ACTION MEANING All other communication is through memory! */ -#define SLOW_DOWN_IO udelay(5) - #include #include #include @@ -279,7 +277,7 @@ struct i596_rbd { phys_addr pa_next; /* va_to_pa(struct i596_tbd *next) */ phys_addr pa_data; /* va_to_pa(char *data) */ phys_addr pa_prev; /* va_to_pa(struct i596_tbd *prev) */ - + /* Driver private part */ struct sk_buff *skb; }; @@ -381,7 +379,7 @@ static char init_setup[14] = { static int i596_open(struct net_device *dev); static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev); -static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t i596_interrupt(int irq, void *dev_id); static int i596_close(struct net_device *dev); static struct net_device_stats *i596_get_stats(struct net_device *dev); static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); @@ -444,16 +442,16 @@ init_rx_bufs(struct net_device *dev, int num) { if (rbd) { rbd->pad = 0; rbd->count = 0; - rbd->skb = dev_alloc_skb(RX_SKB_SIZE); + rbd->skb = dev_alloc_skb(RX_SKBSIZE); if (!rbd->skb) { printk("dev_alloc_skb failed"); } rbd->next = rfd->rbd; if (i) { rfd->rbd->prev = rbd; - rbd->size = RX_SKB_SIZE; + rbd->size = RX_SKBSIZE; } else { - rbd->size = (RX_SKB_SIZE | RBD_EL); + rbd->size = (RX_SKBSIZE | RBD_EL); lp->rbd_tail = rbd; } @@ -649,7 +647,7 @@ init_i596(struct net_device *dev) { CA(); barrier(); - + if (lp->scb.command && i596_timeout(dev, "Receive Unit start", 100)) return 1; @@ -678,7 +676,7 @@ i596_rx_one(struct net_device *dev, struct i596_private *lp, return 1; } - skb->dev = dev; + skb->dev = dev; memcpy(skb_put(skb,pkt_len), rfd->data, pkt_len); skb->protocol = eth_type_trans(skb,dev); @@ -799,7 +797,7 @@ static void i596_reset(struct net_device *dev, struct i596_private *lp, int ioad lp->scb.command = CUC_ABORT | RX_ABORT; CA(); barrier(); - + /* wait for shutdown */ if (lp->scb.command && i596_timeout(dev, "i596_reset(2)", 400)) ; @@ -822,7 +820,7 @@ static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd) { cmd->pa_next = I596_NULL; spin_lock_irqsave(&lp->cmd_lock, flags); - + if (lp->cmd_head) { lp->cmd_tail->pa_next = va_to_pa(cmd); } else { @@ -849,11 +847,11 @@ static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd) { } } -static int i596_open(struct net_device *dev) +static int i596_open(struct net_device *dev) { int i; - i = request_irq(dev->irq, &i596_interrupt, SA_SHIRQ, dev->name, dev); + i = request_irq(dev->irq, &i596_interrupt, IRQF_SHARED, dev->name, dev); if (i) { printk(KERN_ERR "%s: IRQ %d not free\n", dev->name, dev->irq); return i; @@ -877,17 +875,16 @@ static int i596_start_xmit (struct sk_buff *skb, struct net_device *dev) { short length; length = skb->len; - + if (length < ETH_ZLEN) { - skb = skb_padto(skb, ETH_ZLEN); - if (skb == NULL) + if (skb_padto(skb, ETH_ZLEN)) return 0; length = ETH_ZLEN; } - + dev->trans_start = jiffies; - tx_cmd = (struct tx_cmd *) kmalloc ((sizeof (struct tx_cmd) + sizeof (struct i596_tbd)), GFP_ATOMIC); + tx_cmd = kmalloc((sizeof (struct tx_cmd) + sizeof (struct i596_tbd)), GFP_ATOMIC); if (tx_cmd == NULL) { printk(KERN_WARNING "%s: i596_xmit Memory squeeze, dropping packet.\n", dev->name); lp->stats.tx_dropped++; @@ -944,7 +941,7 @@ i596_tx_timeout (struct net_device *dev) { netif_wake_queue(dev); } -static void print_eth(char *add) +static void print_eth(char *add) { int i; @@ -981,7 +978,7 @@ static int __init lp486e_probe(struct net_device *dev) { lp = (struct i596_private *) dev->priv; spin_lock_init(&lp->cmd_lock); - + /* * Do we really have this thing? */ @@ -1135,7 +1132,7 @@ i596_handle_CU_completion(struct net_device *dev, default: cmd->pa_next = I596_NULL; lp->last_cmd = jiffies; - + } barrier(); } @@ -1154,7 +1151,7 @@ i596_handle_CU_completion(struct net_device *dev, } static irqreturn_t -i596_interrupt (int irq, void *dev_instance, struct pt_regs *regs) { +i596_interrupt (int irq, void *dev_instance) { struct net_device *dev = (struct net_device *) dev_instance; struct i596_private *lp; unsigned short status, ack_cmd = 0; @@ -1269,7 +1266,7 @@ static void set_multicast_list(struct net_device *dev) { if (dev->mc_count > 0) { struct dev_mc_list *dmi; char *cp; - cmd = (struct i596_cmd *)kmalloc(sizeof(struct i596_cmd)+2+dev->mc_count*6, GFP_ATOMIC); + cmd = kmalloc(sizeof(struct i596_cmd)+2+dev->mc_count*6, GFP_ATOMIC); if (cmd == NULL) { printk (KERN_ERR "%s: set_multicast Memory squeeze.\n", dev->name); return;