can: mscan-mpc5xxx: fix broken support for the MPC5200
[safe/jmp/linux-2.6] / drivers / net / tokenring / olympic.c
index 2d819fc..f010a4d 100644 (file)
@@ -172,7 +172,7 @@ module_param_array(message_level, int, NULL, 0) ;
 static int network_monitor[OLYMPIC_MAX_ADAPTERS] = {0,};
 module_param_array(network_monitor, int, NULL, 0);
 
-static struct pci_device_id olympic_pci_tbl[] = {
+static DEFINE_PCI_DEVICE_TABLE(olympic_pci_tbl) = {
        {PCI_VENDOR_ID_IBM,PCI_DEVICE_ID_IBM_TR_WAKE,PCI_ANY_ID,PCI_ANY_ID,},
        { }     /* Terminating Entry */
 };
@@ -182,7 +182,8 @@ MODULE_DEVICE_TABLE(pci,olympic_pci_tbl) ;
 static int olympic_probe(struct pci_dev *pdev, const struct pci_device_id *ent); 
 static int olympic_init(struct net_device *dev);
 static int olympic_open(struct net_device *dev);
-static int olympic_xmit(struct sk_buff *skb, struct net_device *dev);
+static netdev_tx_t olympic_xmit(struct sk_buff *skb,
+                                     struct net_device *dev);
 static int olympic_close(struct net_device *dev);
 static void olympic_set_rx_mode(struct net_device *dev);
 static void olympic_freemem(struct net_device *dev) ;  
@@ -444,9 +445,9 @@ static int olympic_open(struct net_device *dev)
 
        olympic_init(dev);
 
-       if(request_irq(dev->irq, &olympic_interrupt, IRQF_SHARED , "olympic", dev)) {
+       if (request_irq(dev->irq, olympic_interrupt, IRQF_SHARED , "olympic",
+                       dev))
                return -EAGAIN;
-       }
 
 #if OLYMPIC_DEBUG
        printk("BMCTL: %x\n",readl(olympic_mmio+BMCTL_SUM));
@@ -1030,7 +1031,8 @@ static irqreturn_t olympic_interrupt(int irq, void *dev_id)
        return IRQ_HANDLED;
 }      
 
-static int olympic_xmit(struct sk_buff *skb, struct net_device *dev) 
+static netdev_tx_t olympic_xmit(struct sk_buff *skb,
+                                     struct net_device *dev)
 {
        struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio;
@@ -1052,10 +1054,10 @@ static int olympic_xmit(struct sk_buff *skb, struct net_device *dev)
                writew((((readw(olympic_mmio+TXENQ_1)) & 0x8000) ^ 0x8000) | 1,olympic_mmio+TXENQ_1);
                netif_wake_queue(dev);
                spin_unlock_irqrestore(&olympic_priv->olympic_lock,flags);
-               return 0;
+               return NETDEV_TX_OK;
        } else {
                spin_unlock_irqrestore(&olympic_priv->olympic_lock,flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        } 
 
 }