__raw_writel(DEFAULT_TX_CNTRL0 | TX_CNTRL0_HALFDUPLEX,
                             &port->regs->tx_control[0]);
 
-       printk(KERN_INFO "%s: link up, speed %u Mb/s, %s duplex\n",
-              dev->name, port->speed, port->duplex ? "full" : "half");
+       netdev_info(dev, "%s: link up, speed %u Mb/s, %s duplex\n",
+                   dev->name, port->speed, port->duplex ? "full" : "half");
 }
 
 
 #if DEBUG_PKT_BYTES
        int i;
 
-       printk(KERN_DEBUG "%s: %s(%i) ", dev->name, func, len);
+       netdev_debug(dev, "%s(%i) ", func, len);
        for (i = 0; i < len; i++) {
                if (i >= DEBUG_PKT_BYTES)
                        break;
        int received = 0;
 
 #if DEBUG_RX
-       printk(KERN_DEBUG "%s: eth_poll\n", dev->name);
+       netdev_debug(dev, "eth_poll\n");
 #endif
 
        while (received < budget) {
 
                if ((n = queue_get_desc(rxq, port, 0)) < 0) {
 #if DEBUG_RX
-                       printk(KERN_DEBUG "%s: eth_poll napi_complete\n",
-                              dev->name);
+                       netdev_debug(dev, "eth_poll napi_complete\n");
 #endif
                        napi_complete(napi);
                        qmgr_enable_irq(rxq);
                        if (!qmgr_stat_below_low_watermark(rxq) &&
                            napi_reschedule(napi)) { /* not empty again */
 #if DEBUG_RX
-                               printk(KERN_DEBUG "%s: eth_poll napi_reschedule succeeded\n",
-                                      dev->name);
+                               netdev_debug(dev, "eth_poll napi_reschedule succeeded\n");
 #endif
                                qmgr_disable_irq(rxq);
                                continue;
                        }
 #if DEBUG_RX
-                       printk(KERN_DEBUG "%s: eth_poll all done\n",
-                              dev->name);
+                       netdev_debug(dev, "eth_poll all done\n");
 #endif
                        return received; /* all work done */
                }
        }
 
 #if DEBUG_RX
-       printk(KERN_DEBUG "eth_poll(): end, not all work done\n");
+       netdev_debug(dev, "eth_poll(): end, not all work done\n");
 #endif
        return received;                /* not all work done */
 }
        struct desc *desc;
 
 #if DEBUG_TX
-       printk(KERN_DEBUG "%s: eth_xmit\n", dev->name);
+       netdev_debug(dev, "eth_xmit\n");
 #endif
 
        if (unlikely(skb->len > MAX_MRU)) {
 
        if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */
 #if DEBUG_TX
-               printk(KERN_DEBUG "%s: eth_xmit queue full\n", dev->name);
+               netdev_debug(dev, "eth_xmit queue full\n");
 #endif
                netif_stop_queue(dev);
                /* we could miss TX ready interrupt */
                /* really empty in fact */
                if (!qmgr_stat_below_low_watermark(txreadyq)) {
 #if DEBUG_TX
-                       printk(KERN_DEBUG "%s: eth_xmit ready again\n",
-                              dev->name);
+                       netdev_debug(dev, "eth_xmit ready again\n");
 #endif
                        netif_wake_queue(dev);
                }
        }
 
 #if DEBUG_TX
-       printk(KERN_DEBUG "%s: eth_xmit end\n", dev->name);
+       netdev_debug(dev, "eth_xmit end\n");
 #endif
 
        ixp_tx_timestamp(port, skb);
                        return err;
 
                if (npe_recv_message(npe, &msg, "ETH_GET_STATUS")) {
-                       printk(KERN_ERR "%s: %s not responding\n", dev->name,
-                              npe_name(npe));
+                       netdev_err(dev, "%s not responding\n", npe_name(npe));
                        return -EIO;
                }
                port->firmware[0] = msg.byte4;
        msg.eth_id = port->id;
        msg.byte3 = 1;
        if (npe_send_recv_message(port->npe, &msg, "ETH_ENABLE_LOOPBACK"))
-               printk(KERN_CRIT "%s: unable to enable loopback\n", dev->name);
+               netdev_crit(dev, "unable to enable loopback\n");
 
        i = 0;
        do {                    /* drain RX buffers */
        } while (++i < MAX_CLOSE_WAIT);
 
        if (buffs)
-               printk(KERN_CRIT "%s: unable to drain RX queue, %i buffer(s)"
-                      " left in NPE\n", dev->name, buffs);
+               netdev_crit(dev, "unable to drain RX queue, %i buffer(s)"
+                           " left in NPE\n", buffs);
 #if DEBUG_CLOSE
        if (!buffs)
-               printk(KERN_DEBUG "Draining RX queue took %i cycles\n", i);
+               netdev_debug(dev, "draining RX queue took %i cycles\n", i);
 #endif
 
        buffs = TX_DESCS;
        } while (++i < MAX_CLOSE_WAIT);
 
        if (buffs)
-               printk(KERN_CRIT "%s: unable to drain TX queue, %i buffer(s) "
-                      "left in NPE\n", dev->name, buffs);
+               netdev_crit(dev, "unable to drain TX queue, %i buffer(s) "
+                           "left in NPE\n", buffs);
 #if DEBUG_CLOSE
        if (!buffs)
-               printk(KERN_DEBUG "Draining TX queues took %i cycles\n", i);
+               netdev_debug(dev, "draining TX queues took %i cycles\n", i);
 #endif
 
        msg.byte3 = 0;
        if (npe_send_recv_message(port->npe, &msg, "ETH_DISABLE_LOOPBACK"))
-               printk(KERN_CRIT "%s: unable to disable loopback\n",
-                      dev->name);
+               netdev_crit(dev, "unable to disable loopback\n");
 
        phy_stop(dev->phydev);
 
        if ((err = register_netdev(ndev)))
                goto err_phy_dis;
 
-       printk(KERN_INFO "%s: MII PHY %i on %s\n", ndev->name, plat->phy,
-              npe_name(port->npe));
+       netdev_info(ndev, "%s: MII PHY %i on %s\n", ndev->name, plat->phy,
+                   npe_name(port->npe));
 
        return 0;