memcpy(dev->dev_addr, mac_addr, sizeof(mac_addr));
 
-       local = dev->priv;
+       local = netdev_priv(dev);
        local->simfd = fd; /* keep track of underlying file descriptor */
 
        dev->open               = simeth_open;
         * we get DOWN then UP.
         */
 
-       local = dev->priv;
+       local = netdev_priv(dev);
        /* now do it for real */
        r = event == NETDEV_UP ?
                netdev_attach(local->simfd, dev->irq, ntohl(ifa->ifa_local)):
 static int
 simeth_tx(struct sk_buff *skb, struct net_device *dev)
 {
-       struct simeth_local *local = dev->priv;
+       struct simeth_local *local = netdev_priv(dev);
 
 #if 0
        /* ensure we have at least ETH_ZLEN bytes (min frame size) */
        int                     len;
        int                     rcv_count = SIMETH_RECV_MAX;
 
-       local = dev->priv;
+       local = netdev_priv(dev);
        /*
         * the loop concept has been borrowed from other drivers
         * looks to me like it's a throttling thing to avoid pushing to many
 static struct net_device_stats *
 simeth_get_stats(struct net_device *dev)
 {
-       struct simeth_local *local = dev->priv;
+       struct simeth_local *local = netdev_priv(dev);
 
        return &local->stats;
 }