static int uml_net_rx(struct net_device *dev)
 {
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
        int pkt_len;
        struct sk_buff *skb;
 
 static irqreturn_t uml_net_interrupt(int irq, void *dev_id)
 {
        struct net_device *dev = dev_id;
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
        int err;
 
        if (!netif_running(dev))
 
 static int uml_net_open(struct net_device *dev)
 {
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
        int err;
 
        if (lp->fd >= 0) {
 
 static int uml_net_close(struct net_device *dev)
 {
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
 
        netif_stop_queue(dev);
 
 
 static int uml_net_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
        unsigned long flags;
        int len;
 
 
 static struct net_device_stats *uml_net_get_stats(struct net_device *dev)
 {
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
        return &lp->stats;
 }
 
 
 static int uml_net_set_mac(struct net_device *dev, void *addr)
 {
-       struct uml_net_private *lp = dev->priv;
+       struct uml_net_private *lp = netdev_priv(dev);
        struct sockaddr *hwaddr = addr;
 
        spin_lock_irq(&lp->lock);
 {
        struct uml_net *device = dev->driver_data;
        struct net_device *netdev = device->dev;
-       struct uml_net_private *lp = netdev->priv;
+       struct uml_net_private *lp = netdev_priv(netdev);
 
        if (lp->remove != NULL)
                (*lp->remove)(&lp->user);
 
        printk(KERN_INFO "Netdevice %d (%pM) : ", n, device->mac);
 
-       lp = dev->priv;
+       lp = netdev_priv(dev);
        /* This points to the transport private data. It's still clear, but we
         * must memset it to 0 *now*. Let's help the drivers. */
        memset(lp, 0, size);
                return -ENODEV;
 
        dev = device->dev;
-       lp = dev->priv;
+       lp = netdev_priv(dev);
        if (lp->fd > 0)
                return -EBUSY;
        unregister_netdev(dev);
        if (dev->open != uml_net_open)
                return NOTIFY_DONE;
 
-       lp = dev->priv;
+       lp = netdev_priv(dev);
 
        proc = NULL;
        switch (event) {