return;
 }
 
-
+static struct net_device_ops madgemc_netdev_ops __read_mostly;
 
 static int __devinit madgemc_probe(struct device *device)
 {      
                goto getout;
        }
 
-       dev->dma = 0;
+       dev->netdev_ops = &madgemc_netdev_ops;
 
        card = kmalloc(sizeof(struct card_info), GFP_KERNEL);
        if (card==NULL) {
 
        memcpy(tp->ProductID, "Madge MCA 16/4    ", PROD_ID_SIZE + 1);
 
-       dev->open = madgemc_open;
-       dev->stop = madgemc_close;
-
        tp->tmspriv = card;
        dev_set_drvdata(device, dev);
 
 
 static int __init madgemc_init (void)
 {
+       madgemc_netdev_ops = tms380tr_netdev_ops;
+       madgemc_netdev_ops.ndo_open = madgemc_open;
+       madgemc_netdev_ops.ndo_stop = madgemc_close;
+
        return mca_register_driver (&madgemc_driver);
 }
 
 
        return -ENODEV;
 }
 
+static struct net_device_ops proteon_netdev_ops __read_mostly;
+
 static int __init setup_card(struct net_device *dev, struct device *pdev)
 {
        struct net_local *tp;
 
        tp->tmspriv = NULL;
 
-       dev->open = proteon_open;
-       dev->stop = tms380tr_close;
+       dev->netdev_ops = &proteon_netdev_ops;
 
        if (dev->irq == 0)
        {
        struct platform_device *pdev;
        int i, num = 0, err = 0;
 
+       proteon_netdev_ops = tms380tr_netdev_ops;
+       proteon_netdev_ops.ndo_open = proteon_open;
+       proteon_netdev_ops.ndo_stop = tms380tr_close;
+
        err = platform_driver_register(&proteon_driver);
        if (err)
                return err;
 
        return 0;
 }
 
+static struct net_device_ops sk_isa_netdev_ops __read_mostly;
+
 static int __init setup_card(struct net_device *dev, struct device *pdev)
 {
        struct net_local *tp;
 
        tp->tmspriv = NULL;
 
-       dev->open = sk_isa_open;
-       dev->stop = tms380tr_close;
+       dev->netdev_ops = &sk_isa_netdev_ops;
 
        if (dev->irq == 0)
        {
        struct platform_device *pdev;
        int i, num = 0, err = 0;
 
+       sk_isa_netdev_ops = tms380tr_netdev_ops;
+       sk_isa_netdev_ops.ndo_open = sk_isa_open;
+       sk_isa_netdev_ops.ndo_stop = tms380tr_close;
+
        err = platform_driver_register(&sk_isa_driver);
        if (err)
                return err;