while (!(hme_read32(hp, tregs + TCVR_FRAME) & 0x10000) && --tries)
                udelay(20);
        if (!tries) {
-               pr_err("happy meal: Aieee, transceiver MIF read bolixed\n");
+               netdev_err(hp->dev, "Aieee, transceiver MIF read bolixed\n");
                return TCVR_FAILURE;
        }
        retval = hme_read32(hp, tregs + TCVR_FRAME) & 0xffff;
 
        /* Anything else? */
        if (!tries)
-               pr_err("happy meal: Aieee, transceiver MIF write bolixed\n");
+               netdev_err(hp->dev, "Aieee, transceiver MIF write bolixed\n");
 
        /* Fifty-two cents is your change, have a nice day. */
 }
                        /* Enter force mode. */
        do_force_mode:
                        hp->sw_bmcr = happy_meal_tcvr_read(hp, tregs, MII_BMCR);
-                       pr_notice("%s: Auto-Negotiation unsuccessful, trying force link mode\n",
-                                 hp->dev->name);
+                       netdev_notice(hp->dev,
+                                     "Auto-Negotiation unsuccessful, trying force link mode\n");
                        hp->sw_bmcr = BMCR_SPEED100;
                        happy_meal_tcvr_write(hp, tregs, MII_BMCR, hp->sw_bmcr);
 
                        restart_timer = 0;
                } else {
                        if (hp->timer_ticks >= 10) {
-                               pr_notice("%s: Auto negotiation successful, link still not completely up.\n",
-                                         hp->dev->name);
+                               netdev_notice(hp->dev,
+                                             "Auto negotiation successful, link still not completely up.\n");
                                hp->timer_ticks = 0;
                                restart_timer = 1;
                        } else {
                                         */
 
                                        /* Let the user know... */
-                                       pr_notice("%s: Link down, cable problem?\n",
-                                                 hp->dev->name);
+                                       netdev_notice(hp->dev,
+                                                     "Link down, cable problem?\n");
 
                                        ret = happy_meal_init(hp);
                                        if (ret) {
                                                /* ho hum... */
-                                               pr_err("%s: Error, cannot re-init the Happy Meal.\n",
-                                                      hp->dev->name);
+                                               netdev_err(hp->dev,
+                                                          "Error, cannot re-init the Happy Meal.\n");
                                        }
                                        goto out;
                                }
        case asleep:
        default:
                /* Can't happens.... */
-               pr_err("%s: Aieee, link timer is asleep but we got one anyways!\n",
-                      hp->dev->name);
+               netdev_err(hp->dev,
+                          "Aieee, link timer is asleep but we got one anyways!\n");
                restart_timer = 0;
                hp->timer_ticks = 0;
                hp->timer_state = asleep; /* foo on you */
 
        /* Lettuce, tomato, buggy hardware (no extra charge)? */
        if (!tries)
-               pr_err("happy meal: Transceiver BigMac ATTACK!");
+               netdev_err(hp->dev, "Transceiver BigMac ATTACK!");
 
        /* Take care. */
        HMD("done\n");
 
        /* Will that be all? */
        if (!tries)
-               pr_err("happy meal: Receiver BigMac ATTACK!");
+               netdev_err(hp->dev, "Receiver BigMac ATTACK!");
 
        /* Don't forget your vik_1137125_wa.  Have a nice day. */
        HMD("done\n");
 
        /* Come back next week when we are "Sun Microelectronics". */
        if (!tries)
-               pr_err("happy meal: Fry guys.");
+               netdev_err(hp->dev, "Fry guys.");
 
        /* Remember: "Different name, same old buggy as shit hardware." */
        HMD("done\n");
                                hp->tcvr_type = internal;
                                ASD("<internal>\n");
                        } else {
-                               pr_err("happy meal: Transceiver and a coke please.");
+                               netdev_err(hp->dev,
+                                          "Transceiver and a coke please.");
                                hp->tcvr_type = none; /* Grrr... */
                                ASD("<none>\n");
                        }
                 */
 
 #ifdef AUTO_SWITCH_DEBUG
-               ASD("%s: Advertising [ ", hp->dev->name);
+               ASD("%s: Advertising [ ");
                if (hp->sw_advertise & ADVERTISE_10HALF)
                        ASD("10H ");
                if (hp->sw_advertise & ADVERTISE_10FULL)
                        udelay(10);
                }
                if (!timeout) {
-                       pr_err("%s: Happy Meal would not start auto negotiation BMCR=0x%04x\n",
-                              hp->dev->name, hp->sw_bmcr);
-                       pr_notice("%s: Performing force link detection.\n",
-                                 hp->dev->name);
+                       netdev_err(hp->dev,
+                                  "Happy Meal would not start auto negotiation BMCR=0x%04x\n",
+                                  hp->sw_bmcr);
+                       netdev_notice(hp->dev,
+                                     "Performing force link detection.\n");
                        goto force_link;
                } else {
                        hp->timer_state = arbwait;
        regtmp = hme_read32(hp, erxregs + ERX_CFG);
        hme_write32(hp, erxregs + ERX_CFG, ERX_CFG_DEFAULT(RX_OFFSET));
        if (hme_read32(hp, erxregs + ERX_CFG) != ERX_CFG_DEFAULT(RX_OFFSET)) {
-               pr_err("happy meal: Eieee, rx config register gets greasy fries.\n");
-               pr_err("happy meal: Trying to set %08x, reread gives %08x\n",
-                      ERX_CFG_DEFAULT(RX_OFFSET), regtmp);
+               netdev_err(hp->dev,
+                          "Eieee, rx config register gets greasy fries.\n");
+               netdev_err(hp->dev,
+                          "Trying to set %08x, reread gives %08x\n",
+                          ERX_CFG_DEFAULT(RX_OFFSET), regtmp);
                /* XXX Should return failure here... */
        }
 
                      GREG_STAT_MIFIRQ | GREG_STAT_TXEACK | GREG_STAT_TXLERR |
                      GREG_STAT_TXPERR | GREG_STAT_TXTERR | GREG_STAT_SLVERR |
                      GREG_STAT_SLVPERR))
-               pr_err("%s: Error interrupt for happy meal, status = %08x\n",
-                      hp->dev->name, status);
+               netdev_err(hp->dev,
+                          "Error interrupt for happy meal, status = %08x\n",
+                          status);
 
        if (status & GREG_STAT_RFIFOVF) {
                /* Receive FIFO overflow is harmless and the hardware will take
                   care of it, just some packets are lost. Who cares. */
-               pr_debug("%s: Happy Meal receive FIFO overflow.\n",
-                        hp->dev->name);
+               netdev_dbg(hp->dev, "Happy Meal receive FIFO overflow.\n");
        }
 
        if (status & GREG_STAT_STSTERR) {
                /* BigMAC SQE link test failed. */
-               pr_err("%s: Happy Meal BigMAC SQE test failed.\n",
-                      hp->dev->name);
+               netdev_err(hp->dev, "Happy Meal BigMAC SQE test failed.\n");
                reset = 1;
        }
 
        if (status & GREG_STAT_TFIFO_UND) {
                /* Transmit FIFO underrun, again DMA error likely. */
-               pr_err("%s: Happy Meal transmitter FIFO underrun, DMA error.\n",
-                      hp->dev->name);
+               netdev_err(hp->dev,
+                          "Happy Meal transmitter FIFO underrun, DMA error.\n");
                reset = 1;
        }
 
                /* Driver error, tried to transmit something larger
                 * than ethernet max mtu.
                 */
-               pr_err("%s: Happy Meal MAX Packet size error.\n",
-                      hp->dev->name);
+               netdev_err(hp->dev, "Happy Meal MAX Packet size error.\n");
                reset = 1;
        }
 
                 * faster than the interrupt handler could keep up
                 * with.
                 */
-               pr_info("%s: Happy Meal out of receive descriptors, packet dropped.\n",
-                       hp->dev->name);
+               netdev_info(hp->dev,
+                           "Happy Meal out of receive descriptors, packet dropped.\n");
        }
 
        if (status & (GREG_STAT_RXERR|GREG_STAT_RXPERR|GREG_STAT_RXTERR)) {
                /* All sorts of DMA receive errors. */
-               pr_err("%s: Happy Meal rx DMA errors [ ", hp->dev->name);
+               netdev_err(hp->dev, "Happy Meal rx DMA errors [ ");
                if (status & GREG_STAT_RXERR)
                        printk("GenericError ");
                if (status & GREG_STAT_RXPERR)
                /* Driver bug, didn't set EOP bit in tx descriptor given
                 * to the happy meal.
                 */
-               pr_err("%s: EOP not set in happy meal transmit descriptor!\n",
-                      hp->dev->name);
+               netdev_err(hp->dev,
+                          "EOP not set in happy meal transmit descriptor!\n");
                reset = 1;
        }
 
        if (status & GREG_STAT_MIFIRQ) {
                /* MIF signalled an interrupt, were we polling it? */
-               pr_err("%s: Happy Meal MIF interrupt.\n", hp->dev->name);
+               netdev_err(hp->dev, "Happy Meal MIF interrupt.\n");
        }
 
        if (status &
            (GREG_STAT_TXEACK|GREG_STAT_TXLERR|GREG_STAT_TXPERR|GREG_STAT_TXTERR)) {
                /* All sorts of transmit DMA errors. */
-               pr_err("%s: Happy Meal tx DMA errors [ ", hp->dev->name);
+               netdev_err(hp->dev, "Happy Meal tx DMA errors [ ");
                if (status & GREG_STAT_TXEACK)
                        printk("GenericError ");
                if (status & GREG_STAT_TXLERR)
                /* Bus or parity error when cpu accessed happy meal registers
                 * or it's internal FIFO's.  Should never see this.
                 */
-               pr_err("%s: Happy Meal register access SBUS slave (%s) error.\n",
-                      hp->dev->name,
-                      (status & GREG_STAT_SLVPERR) ? "parity" : "generic");
+               netdev_err(hp->dev,
+                          "Happy Meal register access SBUS slave (%s) error.\n",
+                          (status & GREG_STAT_SLVPERR) ? "parity" : "generic");
                reset = 1;
        }
 
        if (reset) {
-               pr_notice("%s: Resetting...\n", hp->dev->name);
+               netdev_notice(hp->dev, "Resetting...\n");
                happy_meal_init(hp);
                return 1;
        }
 {
        void __iomem *tregs = hp->tcvregs;
 
-       pr_info("%s: Link status change.\n", hp->dev->name);
+       netdev_info(hp->dev, "Link status change.\n");
        hp->sw_bmcr = happy_meal_tcvr_read(hp, tregs, MII_BMCR);
        hp->sw_lpa = happy_meal_tcvr_read(hp, tregs, MII_LPA);
 
        /* Use the fastest transmission protocol possible. */
        if (hp->sw_lpa & LPA_100FULL) {
-               pr_info("%s: Switching to 100Mbps at full duplex.",
-                       hp->dev->name);
+               netdev_info(hp->dev, "Switching to 100Mbps at full duplex.");
                hp->sw_bmcr |= (BMCR_FULLDPLX | BMCR_SPEED100);
        } else if (hp->sw_lpa & LPA_100HALF) {
-               pr_info("%s: Switching to 100MBps at half duplex.",
-                       hp->dev->name);
+               netdev_info(hp->dev, "Switching to 100MBps at half duplex.");
                hp->sw_bmcr |= BMCR_SPEED100;
        } else if (hp->sw_lpa & LPA_10FULL) {
-               pr_info("%s: Switching to 10MBps at full duplex.",
-                       hp->dev->name);
+               netdev_info(hp->dev, "Switching to 10MBps at full duplex.");
                hp->sw_bmcr |= BMCR_FULLDPLX;
        } else {
-               pr_info("%s: Using 10Mbps at half duplex.", hp->dev->name);
+               netdev_info(hp->dev, "Using 10Mbps at half duplex.");
        }
        happy_meal_tcvr_write(hp, tregs, MII_BMCR, hp->sw_bmcr);
 
        }
        hp->rx_new = elem;
        if (drops)
-               pr_info("%s: Memory squeeze, deferring packet.\n",
-                       hp->dev->name);
+               netdev_info(hp->dev, "Memory squeeze, deferring packet.\n");
        RXD(">");
 }
 
                                  dev->name, dev);
                if (res) {
                        HMD("EAGAIN\n");
-                       pr_err("happy_meal(SBUS): Can't order irq %d to go.\n",
-                              hp->irq);
+                       netdev_err(dev, "Can't order irq %d to go.\n", hp->irq);
 
                        return -EAGAIN;
                }
 {
        struct happy_meal *hp = netdev_priv(dev);
 
-       pr_err("%s: transmit timed out, resetting\n", dev->name);
+       netdev_err(dev, "transmit timed out, resetting\n");
        tx_dump_log();
-       pr_err("%s: Happy Status %08x TX[%08x:%08x]\n", dev->name,
-              hme_read32(hp, hp->gregs + GREG_STAT),
-              hme_read32(hp, hp->etxregs + ETX_CFG),
-              hme_read32(hp, hp->bigmacregs + BMAC_TXCFG));
+       netdev_err(dev, "Happy Status %08x TX[%08x:%08x]\n",
+                  hme_read32(hp, hp->gregs + GREG_STAT),
+                  hme_read32(hp, hp->etxregs + ETX_CFG),
+                  hme_read32(hp, hp->bigmacregs + BMAC_TXCFG));
 
        spin_lock_irq(&hp->happy_lock);
        happy_meal_init(hp);
        if (TX_BUFFS_AVAIL(hp) <= (skb_shinfo(skb)->nr_frags + 1)) {
                netif_stop_queue(dev);
                spin_unlock_irq(&hp->happy_lock);
-               pr_err("%s: BUG! Tx Ring full when queue awake!\n",
-                      dev->name);
+               netdev_err(dev, "BUG! Tx Ring full when queue awake!\n");
                return NETDEV_TX_BUSY;
        }
 
                                  IRQF_SHARED, "Quattro",
                                  qp);
                if (err != 0) {
-                       pr_err("Quattro HME: IRQ registration error %d.\n",
-                              err);
+                       dev_err(&op->dev,
+                               "Quattro HME: IRQ registration error %d.\n",
+                               err);
                        return err;
                }
        }
                goto err_out;
        SET_NETDEV_DEV(dev, &op->dev);
 
-       if (hme_version_printed++ == 0)
-               pr_info("%s", version);
-
        /* If user did not specify a MAC address specifically, use
         * the Quattro local-mac-address property...
         */
        hp->gregs = of_ioremap(&op->resource[0], 0,
                               GREG_REG_SIZE, "HME Global Regs");
        if (!hp->gregs) {
-               pr_err("happymeal: Cannot map global registers.\n");
+               dev_err(&op->dev, "Cannot map global registers.\n");
                goto err_out_free_netdev;
        }
 
        hp->etxregs = of_ioremap(&op->resource[1], 0,
                                 ETX_REG_SIZE, "HME TX Regs");
        if (!hp->etxregs) {
-               pr_err("happymeal: Cannot map MAC TX registers.\n");
+               dev_err(&op->dev, "Cannot map MAC TX registers.\n");
                goto err_out_iounmap;
        }
 
        hp->erxregs = of_ioremap(&op->resource[2], 0,
                                 ERX_REG_SIZE, "HME RX Regs");
        if (!hp->erxregs) {
-               pr_err("happymeal: Cannot map MAC RX registers.\n");
+               dev_err(&op->dev, "Cannot map MAC RX registers.\n");
                goto err_out_iounmap;
        }
 
        hp->bigmacregs = of_ioremap(&op->resource[3], 0,
                                    BMAC_REG_SIZE, "HME BIGMAC Regs");
        if (!hp->bigmacregs) {
-               pr_err("happymeal: Cannot map BIGMAC registers.\n");
+               dev_err(&op->dev, "Cannot map BIGMAC registers.\n");
                goto err_out_iounmap;
        }
 
        hp->tcvregs = of_ioremap(&op->resource[4], 0,
                                 TCVR_REG_SIZE, "HME Tranceiver Regs");
        if (!hp->tcvregs) {
-               pr_err("happymeal: Cannot map TCVR registers.\n");
+               dev_err(&op->dev, "Cannot map TCVR registers.\n");
                goto err_out_iounmap;
        }
 
 
        err = register_netdev(hp->dev);
        if (err) {
-               pr_err("happymeal: Cannot register net device, aborting.\n");
+               dev_err(&op->dev, "Cannot register net device, aborting.\n");
                goto err_out_free_coherent;
        }
 
        platform_set_drvdata(op, hp);
 
        if (qfe_slot != -1)
-               pr_info("%s: Quattro HME slot %d (SBUS) 10/100baseT Ethernet ",
-                       dev->name, qfe_slot);
+               netdev_info(dev, "Quattro HME slot %d (SBUS) 10/100baseT Ethernet ",
+                           qfe_slot);
        else
-               pr_info("%s: HAPPY MEAL (SBUS) 10/100baseT Ethernet ",
-                       dev->name);
+               netdev_info(dev, "HAPPY MEAL (SBUS) 10/100baseT Ethernet ");
 
        printk("%pM\n", dev->dev_addr);
 
 
        err = -EINVAL;
        if ((pci_resource_flags(pdev, 0) & IORESOURCE_IO) != 0) {
-               pr_err("happymeal(PCI): Cannot find proper PCI device base address.\n");
+               dev_err(&pdev->dev,
+                       "Cannot find proper PCI device base address.\n");
                goto err_out_clear_quattro;
        }
 
                                        pci_resource_len(pdev, 0), DRV_NAME);
        if (IS_ERR(hpreg_res)) {
                err = PTR_ERR(hpreg_res);
-               pr_err("happymeal(PCI): Cannot obtain PCI resources, aborting.\n");
+               dev_err(&pdev->dev, "Cannot obtain PCI resources, aborting.\n");
                goto err_out_clear_quattro;
        }
 
        hpreg_base = pcim_iomap(pdev, 0, 0x8000);
        if (!hpreg_base) {
                err = -ENOMEM;
-               pr_err("happymeal(PCI): Unable to remap card memory.\n");
+               dev_err(&pdev->dev, "Unable to remap card memory.\n");
                goto err_out_clear_quattro;
        }
 
 
        err = devm_register_netdev(&pdev->dev, dev);
        if (err) {
-               pr_err("happymeal(PCI): Cannot register net device, aborting.\n");
+               dev_err(&pdev->dev, "Cannot register net device, aborting.\n");
                goto err_out_clear_quattro;
        }
 
                        int i = simple_strtoul(dev->name + 3, NULL, 10);
                        sprintf(prom_name, "-%d", i + 3);
                }
-               pr_info("%s%s: Quattro HME (PCI/CheerIO) 10/100baseT Ethernet ",
-                       dev->name, prom_name);
+               netdev_info(dev,
+                           "%s: Quattro HME (PCI/CheerIO) 10/100baseT Ethernet ",
+                           prom_name);
                if (qpdev->vendor == PCI_VENDOR_ID_DEC &&
                    qpdev->device == PCI_DEVICE_ID_DEC_21153)
                        printk("DEC 21153 PCI Bridge\n");
        }
 
        if (qfe_slot != -1)
-               pr_info("%s: Quattro HME slot %d (PCI/CheerIO) 10/100baseT Ethernet ",
-                       dev->name, qfe_slot);
+               netdev_info(dev,
+                           "Quattro HME slot %d (PCI/CheerIO) 10/100baseT Ethernet ",
+                           qfe_slot);
        else
-               pr_info("%s: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet ",
-                       dev->name);
+               netdev_info(dev,
+                           "HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet ");
 
        printk("%pM\n", dev->dev_addr);