fddi: convert to new network device ops
Stephen Hemminger [Fri, 21 Nov 2008 04:29:48 +0000 (20:29 -0800)]
Similar to ethernet. Convert infrastructure and the one lone FDDI
driver (for the one lone user of that hardware??). Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/skfp/skfddi.c
include/linux/fddidevice.h
net/802/fddi.c

index 282bb47..7fbd4f8 100644 (file)
@@ -168,6 +168,17 @@ static int num_boards;     /* total number of adapters configured */
 #define PRINTK(s, args...)
 #endif                         // DRIVERDEBUG
 
+static const struct net_device_ops skfp_netdev_ops = {
+       .ndo_open               = skfp_open,
+       .ndo_stop               = skfp_close,
+       .ndo_start_xmit         = skfp_send_pkt,
+       .ndo_get_stats          = skfp_ctl_get_stats,
+       .ndo_change_mtu         = fddi_change_mtu,
+       .ndo_set_multicast_list = skfp_ctl_set_multicast_list,
+       .ndo_set_mac_address    = skfp_ctl_set_mac_address,
+       .ndo_do_ioctl           = skfp_ioctl,
+};
+
 /*
  * =================
  * = skfp_init_one =
@@ -253,13 +264,7 @@ static int skfp_init_one(struct pci_dev *pdev,
        }
 
        dev->irq = pdev->irq;
-       dev->get_stats = &skfp_ctl_get_stats;
-       dev->open = &skfp_open;
-       dev->stop = &skfp_close;
-       dev->hard_start_xmit = &skfp_send_pkt;
-       dev->set_multicast_list = &skfp_ctl_set_multicast_list;
-       dev->set_mac_address = &skfp_ctl_set_mac_address;
-       dev->do_ioctl = &skfp_ioctl;
+       dev->netdev_ops = &skfp_netdev_ops;
 
        SET_NETDEV_DEV(dev, &pdev->dev);
 
index e61e42d..155bafd 100644 (file)
@@ -27,6 +27,7 @@
 #ifdef __KERNEL__
 extern __be16  fddi_type_trans(struct sk_buff *skb,
                                struct net_device *dev);
+extern int fddi_change_mtu(struct net_device *dev, int new_mtu);
 extern struct net_device *alloc_fddidev(int sizeof_priv);
 #endif
 
index 0549317..f1611a1 100644 (file)
@@ -167,23 +167,27 @@ __be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev)
 
 EXPORT_SYMBOL(fddi_type_trans);
 
-static int fddi_change_mtu(struct net_device *dev, int new_mtu)
+int fddi_change_mtu(struct net_device *dev, int new_mtu)
 {
        if ((new_mtu < FDDI_K_SNAP_HLEN) || (new_mtu > FDDI_K_SNAP_DLEN))
                return(-EINVAL);
        dev->mtu = new_mtu;
        return(0);
 }
+EXPORT_SYMBOL(fddi_change_mtu);
 
 static const struct header_ops fddi_header_ops = {
        .create         = fddi_header,
        .rebuild        = fddi_rebuild_header,
 };
 
+
 static void fddi_setup(struct net_device *dev)
 {
-       dev->change_mtu         = fddi_change_mtu;
        dev->header_ops         = &fddi_header_ops;
+#ifdef CONFIG_COMPAT_NET_DEV_OPS
+       dev->change_mtu         = fddi_change_mtu,
+#endif
 
        dev->type               = ARPHRD_FDDI;
        dev->hard_header_len    = FDDI_K_SNAP_HLEN+3;   /* Assume 802.2 SNAP hdr len + 3 pad bytes */