return 0;
 }
 
+static const struct net_device_ops sirdev_ops = {
+       .ndo_start_xmit = sirdev_hard_xmit,
+       .ndo_open       = sirdev_open,
+       .ndo_stop       = sirdev_close,
+       .ndo_do_ioctl   = sirdev_ioctl,
+};
 /* ----------------------------------------------------------------------------- */
 
 struct sir_dev * sirdev_get_instance(const struct sir_driver *drv, const char *name)
        dev->netdev = ndev;
 
        /* Override the network functions we need to use */
-       ndev->hard_start_xmit = sirdev_hard_xmit;
-       ndev->open = sirdev_open;
-       ndev->stop = sirdev_close;
-       ndev->do_ioctl = sirdev_ioctl;
+       ndev->netdev_ops = &sirdev_ops;
 
        if (register_netdev(ndev)) {
                IRDA_ERROR("%s(), register_netdev() failed!\n", __func__);