]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/atp.c
net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions
[net-next-2.6.git] / drivers / net / atp.c
index ea493ce23982abeb362f0d31618f4028495b9730..4beacc9c909f216930f1c5ef853da9b95f7b795e 100644 (file)
@@ -204,8 +204,7 @@ static irqreturn_t atp_interrupt(int irq, void *dev_id);
 static void net_rx(struct net_device *dev);
 static void read_block(long ioaddr, int length, unsigned char *buffer, int data_mode);
 static int net_close(struct net_device *dev);
-static void set_rx_mode_8002(struct net_device *dev);
-static void set_rx_mode_8012(struct net_device *dev);
+static void set_rx_mode(struct net_device *dev);
 static void tx_timeout(struct net_device *dev);
 
 
@@ -242,6 +241,17 @@ static int __init atp_init(void)
        return -ENODEV;
 }
 
+static const struct net_device_ops atp_netdev_ops = {
+       .ndo_open               = net_open,
+       .ndo_stop               = net_close,
+       .ndo_start_xmit         = atp_send_packet,
+       .ndo_set_multicast_list = set_rx_mode,
+       .ndo_tx_timeout         = tx_timeout,
+       .ndo_change_mtu         = eth_change_mtu,
+       .ndo_set_mac_address    = eth_mac_addr,
+       .ndo_validate_addr      = eth_validate_addr,
+};
+
 static int __init atp_probe1(long ioaddr)
 {
        struct net_device *dev = NULL;
@@ -342,12 +352,7 @@ static int __init atp_probe1(long ioaddr)
        if (dev->mem_end & 0xf)
                net_debug = dev->mem_end & 7;
 
-       dev->open               = net_open;
-       dev->stop               = net_close;
-       dev->hard_start_xmit    = atp_send_packet;
-       dev->set_multicast_list =
-         lp->chip_type == RTL8002 ? &set_rx_mode_8002 : &set_rx_mode_8012;
-       dev->tx_timeout         = tx_timeout;
+       dev->netdev_ops         = &atp_netdev_ops;
        dev->watchdog_timeo     = TX_TIMEOUT;
 
        res = register_netdev(dev);
@@ -582,7 +587,7 @@ static int atp_send_packet(struct sk_buff *skb, struct net_device *dev)
 
        dev->trans_start = jiffies;
        dev_kfree_skb (skb);
-       return 0;
+       return NETDEV_TX_OK;
 }
 
 
@@ -903,6 +908,17 @@ static void set_rx_mode_8012(struct net_device *dev)
     write_reg(ioaddr, CMR2, CMR2_IRQOUT); /* Switch back to page 0 */
 }
 
+static void set_rx_mode(struct net_device *dev)
+{
+       struct net_local *lp = netdev_priv(dev);
+
+       if (lp->chip_type == RTL8002)
+               return set_rx_mode_8002(dev);
+       else
+               return set_rx_mode_8012(dev);
+}
+
+
 static int __init atp_init_module(void) {
        if (debug)                                      /* Emit version even if no cards detected. */
                printk(KERN_INFO "%s", version);