static struct quattro *qfe_pci_list;
 #endif
 
-#define HMD pr_debug
+#define hme_debug(fmt, ...) pr_debug("%s: " fmt, __func__, ##__VA_ARGS__)
+#define HMD hme_debug
 
 /* "Auto Switch Debug" aka phy debug */
-#if 0
-#define ASD pr_debug
+#if 1
+#define ASD hme_debug
 #else
 #define ASD(...)
 #endif
 
 /* Transmit debug */
-#if 0
-#define TXD pr_debug
+#if 1
+#define TXD hme_debug
 #else
 #define TXD(...)
 #endif
 
 /* Skid buffer debug */
-#if 0
-#define SXD pr_debug
+#if 1
+#define SXD hme_debug
 #else
 #define SXD(...)
 #endif
 
 /* Receive debug */
-#if 0
-#define RXD pr_debug
+#if 1
+#define RXD hme_debug
 #else
 #define RXD(...)
 #endif
        int retval = 0;
        int i;
 
-       ASD("happy_meal_bb_read: reg=%d ", reg);
-
        /* Enable the MIF BitBang outputs. */
        hme_write32(hp, tregs + TCVR_BBOENAB, 1);
 
        (void) BB_GET_BIT2(hp, tregs, (hp->tcvr_type == internal));
        (void) BB_GET_BIT2(hp, tregs, (hp->tcvr_type == internal));
        (void) BB_GET_BIT2(hp, tregs, (hp->tcvr_type == internal));
-       ASD("value=%x\n", retval);
+       ASD("reg=%d value=%x\n", reg, retval);
        return retval;
 }
 
        u32 tmp;
        int i;
 
-       ASD("happy_meal_bb_write: reg=%d value=%x\n", reg, value);
+       ASD("reg=%d value=%x\n", reg, value);
 
        /* Enable the MIF BitBang outputs. */
        hme_write32(hp, tregs + TCVR_BBOENAB, 1);
        int tries = TCVR_READ_TRIES;
        int retval;
 
-       ASD("happy_meal_tcvr_read: reg=0x%02x ", reg);
        if (hp->tcvr_type == none) {
                ASD("no transceiver, value=TCVR_FAILURE\n");
                return TCVR_FAILURE;
                return TCVR_FAILURE;
        }
        retval = hme_read32(hp, tregs + TCVR_FRAME) & 0xffff;
-       ASD("value=%04x\n", retval);
+       ASD("reg=0x%02x value=%04x\n", reg, retval);
        return retval;
 }
 
 {
        int tries = TCVR_WRITE_TRIES;
 
-       ASD("happy_meal_tcvr_write: reg=0x%02x value=%04x\n", reg, value);
+       ASD("reg=0x%02x value=%04x\n", reg, value);
 
        /* Welcome to Sun Microsystems, can I take your order please? */
        if (!(hp->happy_flags & HFLAG_FENABLE)) {
 {
        int tries = TX_RESET_TRIES;
 
-       HMD("happy_meal_tx_reset: reset, ");
+       HMD("reset...\n");
 
        /* Would you like to try our SMCC Delux? */
        hme_write32(hp, bregs + BMAC_TXSWRESET, 0);
 {
        int tries = RX_RESET_TRIES;
 
-       HMD("happy_meal_rx_reset: reset, ");
+       HMD("reset...\n");
 
        /* We have a special on GNU/Viking hardware bugs today. */
        hme_write32(hp, bregs + BMAC_RXSWRESET, 0);
 
        /* Will that be all? */
        if (!tries)
-               netdev_err(hp->dev, "Receiver BigMac ATTACK!");
+               netdev_err(hp->dev, "Receiver BigMac ATTACK!\n");
 
        /* Don't forget your vik_1137125_wa.  Have a nice day. */
        HMD("done\n");
 {
        int tries = STOP_TRIES;
 
-       HMD("happy_meal_stop: reset, ");
+       HMD("reset...\n");
 
        /* We're consolidating our STB products, it's your lucky day. */
        hme_write32(hp, gregs + GREG_SWRESET, GREG_RESET_ALL);
 
        /* Come back next week when we are "Sun Microelectronics". */
        if (!tries)
-               netdev_err(hp->dev, "Fry guys.");
+               netdev_err(hp->dev, "Fry guys.\n");
 
        /* Remember: "Different name, same old buggy as shit hardware." */
        HMD("done\n");
 /* hp->happy_lock must be held */
 static void happy_meal_poll_stop(struct happy_meal *hp, void __iomem *tregs)
 {
-       ASD("happy_meal_poll_stop: ");
-
        /* If polling disabled or not polling already, nothing to do. */
        if ((hp->happy_flags & (HFLAG_POLLENABLE | HFLAG_POLL)) !=
           (HFLAG_POLLENABLE | HFLAG_POLL)) {
-               HMD("not polling, return\n");
+               ASD("not polling, return\n");
                return;
        }
 
        /* Shut up the MIF. */
-       ASD("were polling, mif ints off, ");
+       ASD("were polling, mif ints off, polling off\n");
        hme_write32(hp, tregs + TCVR_IMASK, 0xffff);
 
        /* Turn off polling. */
-       ASD("polling off, ");
        hme_write32(hp, tregs + TCVR_CFG,
                    hme_read32(hp, tregs + TCVR_CFG) & ~(TCV_CFG_PENABLE));
 
        int result, tries = TCVR_RESET_TRIES;
 
        tconfig = hme_read32(hp, tregs + TCVR_CFG);
-       ASD("happy_meal_tcvr_reset: tcfg<%08lx> ", tconfig);
+       ASD("tcfg=%08x\n", tconfig);
        if (hp->tcvr_type == external) {
-               ASD("external<");
                hme_write32(hp, tregs + TCVR_CFG, tconfig & ~(TCV_CFG_PSELECT));
                hp->tcvr_type = internal;
                hp->paddr = TCV_PADDR_ITX;
-               ASD("ISOLATE,");
                happy_meal_tcvr_write(hp, tregs, MII_BMCR,
                                      (BMCR_LOOPBACK|BMCR_PDOWN|BMCR_ISOLATE));
                result = happy_meal_tcvr_read(hp, tregs, MII_BMCR);
                if (result == TCVR_FAILURE) {
-                       ASD("phyread_fail>\n");
+                       ASD("phyread_fail\n");
                        return -1;
                }
-               ASD("phyread_ok,PSELECT>");
+               ASD("external: ISOLATE, phyread_ok, PSELECT\n");
                hme_write32(hp, tregs + TCVR_CFG, tconfig | TCV_CFG_PSELECT);
                hp->tcvr_type = external;
                hp->paddr = TCV_PADDR_ETX;
        } else {
                if (tconfig & TCV_CFG_MDIO1) {
-                       ASD("internal<PSELECT,");
                        hme_write32(hp, tregs + TCVR_CFG, (tconfig | TCV_CFG_PSELECT));
-                       ASD("ISOLATE,");
                        happy_meal_tcvr_write(hp, tregs, MII_BMCR,
                                              (BMCR_LOOPBACK|BMCR_PDOWN|BMCR_ISOLATE));
                        result = happy_meal_tcvr_read(hp, tregs, MII_BMCR);
                                ASD("phyread_fail>\n");
                                return -1;
                        }
-                       ASD("phyread_ok,~PSELECT>");
+                       ASD("internal: PSELECT, ISOLATE, phyread_ok, ~PSELECT\n");
                        hme_write32(hp, tregs + TCVR_CFG, (tconfig & ~(TCV_CFG_PSELECT)));
                        hp->tcvr_type = internal;
                        hp->paddr = TCV_PADDR_ITX;
                }
        }
 
-       ASD("BMCR_RESET ");
+       ASD("BMCR_RESET...\n");
        happy_meal_tcvr_write(hp, tregs, MII_BMCR, BMCR_RESET);
 
        while (--tries) {
        hp->sw_physid2   = happy_meal_tcvr_read(hp, tregs, MII_PHYSID2);
        hp->sw_advertise = happy_meal_tcvr_read(hp, tregs, MII_ADVERTISE);
 
-       ASD("UNISOLATE");
+       ASD("UNISOLATE...\n");
        hp->sw_bmcr &= ~(BMCR_ISOLATE);
        happy_meal_tcvr_write(hp, tregs, MII_BMCR, hp->sw_bmcr);
 
                udelay(20);
        }
        if (!tries) {
-               ASD(" FAILED!\n");
+               ASD("UNISOLATE FAILED!\n");
                return -1;
        }
-       ASD(" SUCCESS and CSCONFIG_DFBYPASS\n");
+       ASD("SUCCESS and CSCONFIG_DFBYPASS\n");
        if (!is_lucent_phy(hp)) {
                result = happy_meal_tcvr_read(hp, tregs,
                                              DP83840_CSCONFIG);
 {
        unsigned long tconfig = hme_read32(hp, tregs + TCVR_CFG);
 
-       ASD("happy_meal_transceiver_check: tcfg=%08lx ", tconfig);
+       ASD("tcfg=%08lx\n", tconfig);
        if (hp->happy_flags & HFLAG_POLL) {
                /* If we are polling, we must stop to get the transceiver type. */
-               ASD("<polling> ");
                if (hp->tcvr_type == internal) {
                        if (tconfig & TCV_CFG_MDIO1) {
-                               ASD("<internal> <poll stop> ");
                                happy_meal_poll_stop(hp, tregs);
                                hp->paddr = TCV_PADDR_ETX;
                                hp->tcvr_type = external;
-                               ASD("<external>\n");
                                tconfig &= ~(TCV_CFG_PENABLE);
                                tconfig |= TCV_CFG_PSELECT;
                                hme_write32(hp, tregs + TCVR_CFG, tconfig);
+                               ASD("poll stop, internal->external\n");
                        }
                } else {
                        if (hp->tcvr_type == external) {
-                               ASD("<external> ");
                                if (!(hme_read32(hp, tregs + TCVR_STATUS) >> 16)) {
-                                       ASD("<poll stop> ");
                                        happy_meal_poll_stop(hp, tregs);
                                        hp->paddr = TCV_PADDR_ITX;
                                        hp->tcvr_type = internal;
-                                       ASD("<internal>\n");
                                        hme_write32(hp, tregs + TCVR_CFG,
                                                    hme_read32(hp, tregs + TCVR_CFG) &
                                                    ~(TCV_CFG_PSELECT));
+                                       ASD("poll stop, external->internal\n");
                                }
-                               ASD("\n");
                        } else {
-                               ASD("<none>\n");
+                               ASD("polling, none\n");
                        }
                }
        } else {
                u32 reread = hme_read32(hp, tregs + TCVR_CFG);
 
                /* Else we can just work off of the MDIO bits. */
-               ASD("<not polling> ");
                if (reread & TCV_CFG_MDIO1) {
                        hme_write32(hp, tregs + TCVR_CFG, tconfig | TCV_CFG_PSELECT);
                        hp->paddr = TCV_PADDR_ETX;
                        hp->tcvr_type = external;
-                       ASD("<external>\n");
+                       ASD("not polling, external\n");
                } else {
                        if (reread & TCV_CFG_MDIO0) {
                                hme_write32(hp, tregs + TCVR_CFG,
                                            tconfig & ~(TCV_CFG_PSELECT));
                                hp->paddr = TCV_PADDR_ITX;
                                hp->tcvr_type = internal;
-                               ASD("<internal>\n");
+                               ASD("not polling, internal\n");
                        } else {
                                netdev_err(hp->dev,
                                           "Transceiver and a coke please.");
                                hp->tcvr_type = none; /* Grrr... */
-                               ASD("<none>\n");
+                               ASD("not polling, none\n");
                        }
                }
        }
        struct hmeal_init_block *hb = hp->happy_block;
        int i;
 
-       HMD("happy_meal_init_rings: counters to zero, ");
+       HMD("counters to zero\n");
        hp->rx_new = hp->rx_old = hp->tx_new = hp->tx_old = 0;
 
        /* Free any skippy bufs left around in the rings. */
-       HMD("clean, ");
        happy_meal_clean_rings(hp);
 
        /* Now get new skippy bufs for the receive ring. */
-       HMD("init rxring, ");
+       HMD("init rxring\n");
        for (i = 0; i < RX_RING_SIZE; i++) {
                struct sk_buff *skb;
                u32 mapping;
                skb_reserve(skb, RX_OFFSET);
        }
 
-       HMD("init txring, ");
+       HMD("init txring\n");
        for (i = 0; i < TX_RING_SIZE; i++)
                hme_write_txd(hp, &hb->happy_meal_txd[i], 0, 0);
 
                 * XXX so I completely skip checking for it in the BMSR for now.
                 */
 
-#ifdef AUTO_SWITCH_DEBUG
-               ASD("%s: Advertising [ ");
-               if (hp->sw_advertise & ADVERTISE_10HALF)
-                       ASD("10H ");
-               if (hp->sw_advertise & ADVERTISE_10FULL)
-                       ASD("10F ");
-               if (hp->sw_advertise & ADVERTISE_100HALF)
-                       ASD("100H ");
-               if (hp->sw_advertise & ADVERTISE_100FULL)
-                       ASD("100F ");
-#endif
+               ASD("Advertising [ %s%s%s%s]\n",
+                   hp->sw_advertise & ADVERTISE_10HALF ? "10H " : "",
+                   hp->sw_advertise & ADVERTISE_10FULL ? "10F " : "",
+                   hp->sw_advertise & ADVERTISE_100HALF ? "100H " : "",
+                   hp->sw_advertise & ADVERTISE_100FULL ? "100F " : "");
 
                /* Enable Auto-Negotiation, this is usually on already... */
                hp->sw_bmcr |= BMCR_ANENABLE;
        void __iomem *erxregs      = hp->erxregs;
        void __iomem *bregs        = hp->bigmacregs;
        void __iomem *tregs        = hp->tcvregs;
+       const char *bursts;
        u32 regtmp, rxcfg;
 
        /* If auto-negotiation timer is running, kill it. */
        del_timer(&hp->happy_timer);
 
-       HMD("happy_meal_init: happy_flags[%08x] ",
-           hp->happy_flags);
+       HMD("happy_flags[%08x]\n", hp->happy_flags);
        if (!(hp->happy_flags & HFLAG_INIT)) {
-               HMD("set HFLAG_INIT, ");
+               HMD("set HFLAG_INIT\n");
                hp->happy_flags |= HFLAG_INIT;
                happy_meal_get_counters(hp, bregs);
        }
        happy_meal_poll_stop(hp, tregs);
 
        /* Stop transmitter and receiver. */
-       HMD("happy_meal_init: to happy_meal_stop\n");
+       HMD("to happy_meal_stop\n");
        happy_meal_stop(hp, gregs);
 
        /* Alloc and reset the tx/rx descriptor chains. */
-       HMD("happy_meal_init: to happy_meal_init_rings\n");
+       HMD("to happy_meal_init_rings\n");
        happy_meal_init_rings(hp);
 
        /* Shut up the MIF. */
-       HMD("happy_meal_init: Disable all MIF irqs (old[%08x]), ",
+       HMD("Disable all MIF irqs (old[%08x])\n",
            hme_read32(hp, tregs + TCVR_IMASK));
        hme_write32(hp, tregs + TCVR_IMASK, 0xffff);
 
        /* See if we can enable the MIF frame on this card to speak to the DP83840. */
        if (hp->happy_flags & HFLAG_FENABLE) {
-               HMD("use frame old[%08x], ",
+               HMD("use frame old[%08x]\n",
                    hme_read32(hp, tregs + TCVR_CFG));
                hme_write32(hp, tregs + TCVR_CFG,
                            hme_read32(hp, tregs + TCVR_CFG) & ~(TCV_CFG_BENABLE));
        } else {
-               HMD("use bitbang old[%08x], ",
+               HMD("use bitbang old[%08x]\n",
                    hme_read32(hp, tregs + TCVR_CFG));
                hme_write32(hp, tregs + TCVR_CFG,
                            hme_read32(hp, tregs + TCVR_CFG) | TCV_CFG_BENABLE);
        happy_meal_transceiver_check(hp, tregs);
 
        /* Put the Big Mac into a sane state. */
-       HMD("happy_meal_init: ");
        switch(hp->tcvr_type) {
        case none:
                /* Cannot operate if we don't know the transceiver type! */
-               HMD("AAIEEE no transceiver type, EAGAIN");
+               HMD("AAIEEE no transceiver type, EAGAIN\n");
                return -EAGAIN;
 
        case internal:
                /* Using the MII buffers. */
-               HMD("internal, using MII, ");
+               HMD("internal, using MII\n");
                hme_write32(hp, bregs + BMAC_XIFCFG, 0);
                break;
 
        case external:
                /* Not using the MII, disable it. */
-               HMD("external, disable MII, ");
+               HMD("external, disable MII\n");
                hme_write32(hp, bregs + BMAC_XIFCFG, BIGMAC_XCFG_MIIDISAB);
                break;
        }
                return -EAGAIN;
 
        /* Reset the Happy Meal Big Mac transceiver and the receiver. */
-       HMD("tx/rx reset, ");
+       HMD("tx/rx reset\n");
        happy_meal_tx_reset(hp, bregs);
        happy_meal_rx_reset(hp, bregs);
 
        /* Set jam size and inter-packet gaps to reasonable defaults. */
-       HMD("jsize/ipg1/ipg2, ");
        hme_write32(hp, bregs + BMAC_JSIZE, DEFAULT_JAMSIZE);
        hme_write32(hp, bregs + BMAC_IGAP1, DEFAULT_IPG1);
        hme_write32(hp, bregs + BMAC_IGAP2, DEFAULT_IPG2);
 
        /* Load up the MAC address and random seed. */
-       HMD("rseed/macaddr, ");
 
        /* The docs recommend to use the 10LSB of our MAC here. */
        hme_write32(hp, bregs + BMAC_RSEED, ((e[5] | e[4]<<8)&0x3ff));
        hme_write32(hp, bregs + BMAC_MACADDR1, ((e[2] << 8) | e[3]));
        hme_write32(hp, bregs + BMAC_MACADDR0, ((e[0] << 8) | e[1]));
 
-       HMD("htable, ");
        if ((hp->dev->flags & IFF_ALLMULTI) ||
            (netdev_mc_count(hp->dev) > 64)) {
                hme_write32(hp, bregs + BMAC_HTABLE0, 0xffff);
                            | 0x4);
 
        /* Set the supported burst sizes. */
-       HMD("happy_meal_init: old[%08x] bursts<",
-           hme_read32(hp, gregs + GREG_CFG));
-
 #ifndef CONFIG_SPARC
        /* It is always PCI and can handle 64byte bursts. */
        hme_write32(hp, gregs + GREG_CFG, GREG_CFG_BURST64);
                }
 #endif
 
-               HMD("64>");
+               bursts = "64";
                hme_write32(hp, gregs + GREG_CFG, gcfg);
        } else if (hp->happy_bursts & DMA_BURST32) {
-               HMD("32>");
+               bursts = "32";
                hme_write32(hp, gregs + GREG_CFG, GREG_CFG_BURST32);
        } else if (hp->happy_bursts & DMA_BURST16) {
-               HMD("16>");
+               bursts = "16";
                hme_write32(hp, gregs + GREG_CFG, GREG_CFG_BURST16);
        } else {
-               HMD("XXX>");
+               bursts = "XXX";
                hme_write32(hp, gregs + GREG_CFG, 0);
        }
 #endif /* CONFIG_SPARC */
 
+       HMD("old[%08x] bursts<%s>\n",
+           hme_read32(hp, gregs + GREG_CFG), bursts);
+
        /* Turn off interrupts we do not want to hear. */
-       HMD(", enable global interrupts, ");
        hme_write32(hp, gregs + GREG_IMASK,
                    (GREG_IMASK_GOTFRAME | GREG_IMASK_RCNTEXP |
                     GREG_IMASK_SENTFRAME | GREG_IMASK_TXPERR));
 
        /* Set the transmit ring buffer size. */
-       HMD("tx rsize=%d oreg[%08x], ", (int)TX_RING_SIZE,
+       HMD("tx rsize=%d oreg[%08x]\n", (int)TX_RING_SIZE,
            hme_read32(hp, etxregs + ETX_RSIZE));
        hme_write32(hp, etxregs + ETX_RSIZE, (TX_RING_SIZE >> ETX_RSIZE_SHIFT) - 1);
 
        /* Enable transmitter DVMA. */
-       HMD("tx dma enable old[%08x], ",
-           hme_read32(hp, etxregs + ETX_CFG));
+       HMD("tx dma enable old[%08x]\n", hme_read32(hp, etxregs + ETX_CFG));
        hme_write32(hp, etxregs + ETX_CFG,
                    hme_read32(hp, etxregs + ETX_CFG) | ETX_CFG_DMAENABLE);
 
        }
 
        /* Enable Big Mac hash table filter. */
-       HMD("happy_meal_init: enable hash rx_cfg_old[%08x], ",
+       HMD("enable hash rx_cfg_old[%08x]\n",
            hme_read32(hp, bregs + BMAC_RXCFG));
        rxcfg = BIGMAC_RXCFG_HENABLE | BIGMAC_RXCFG_REJME;
        if (hp->dev->flags & IFF_PROMISC)
        udelay(10);
 
        /* Ok, configure the Big Mac transmitter. */
-       HMD("BIGMAC init, ");
+       HMD("BIGMAC init\n");
        regtmp = 0;
        if (hp->happy_flags & HFLAG_FULL)
                regtmp |= BIGMAC_TXCFG_FULLDPLX;
        if (hp->tcvr_type == external)
                regtmp |= BIGMAC_XCFG_MIIDISAB;
 
-       HMD("XIF config old[%08x], ",
-           hme_read32(hp, bregs + BMAC_XIFCFG));
+       HMD("XIF config old[%08x]\n", hme_read32(hp, bregs + BMAC_XIFCFG));
        hme_write32(hp, bregs + BMAC_XIFCFG, regtmp);
 
        /* Start things up. */
 
        if (status & (GREG_STAT_RXERR|GREG_STAT_RXPERR|GREG_STAT_RXTERR)) {
                /* All sorts of DMA receive errors. */
-               netdev_err(hp->dev, "Happy Meal rx DMA errors [ ");
-               if (status & GREG_STAT_RXERR)
-                       printk("GenericError ");
-               if (status & GREG_STAT_RXPERR)
-                       printk("ParityError ");
-               if (status & GREG_STAT_RXTERR)
-                       printk("RxTagBotch ");
-               printk("]\n");
+               netdev_err(hp->dev, "Happy Meal rx DMA errors [ %s%s%s]\n",
+                          status & GREG_STAT_RXERR ? "GenericError " : "",
+                          status & GREG_STAT_RXPERR ? "ParityError " : "",
+                          status & GREG_STAT_RXTERR ? "RxTagBotch " : "");
                reset = 1;
        }
 
        if (status &
            (GREG_STAT_TXEACK|GREG_STAT_TXLERR|GREG_STAT_TXPERR|GREG_STAT_TXTERR)) {
                /* All sorts of transmit DMA errors. */
-               netdev_err(hp->dev, "Happy Meal tx DMA errors [ ");
-               if (status & GREG_STAT_TXEACK)
-                       printk("GenericError ");
-               if (status & GREG_STAT_TXLERR)
-                       printk("LateError ");
-               if (status & GREG_STAT_TXPERR)
-                       printk("ParityError ");
-               if (status & GREG_STAT_TXTERR)
-                       printk("TagBotch ");
-               printk("]\n");
+               netdev_err(hp->dev, "Happy Meal tx DMA errors [ %s%s%s%s]\n",
+                          status & GREG_STAT_TXEACK ? "GenericError " : "",
+                          status & GREG_STAT_TXLERR ? "LateError " : "",
+                          status & GREG_STAT_TXPERR ? "ParityError " : "",
+                          status & GREG_STAT_TXTERR ? "TagBotch " : "");
                reset = 1;
        }
 
 
        /* Use the fastest transmission protocol possible. */
        if (hp->sw_lpa & LPA_100FULL) {
-               netdev_info(hp->dev, "Switching to 100Mbps at full duplex.");
+               netdev_info(hp->dev, "Switching to 100Mbps at full duplex.\n");
                hp->sw_bmcr |= (BMCR_FULLDPLX | BMCR_SPEED100);
        } else if (hp->sw_lpa & LPA_100HALF) {
-               netdev_info(hp->dev, "Switching to 100MBps at half duplex.");
+               netdev_info(hp->dev, "Switching to 100MBps at half duplex.\n");
                hp->sw_bmcr |= BMCR_SPEED100;
        } else if (hp->sw_lpa & LPA_10FULL) {
-               netdev_info(hp->dev, "Switching to 10MBps at full duplex.");
+               netdev_info(hp->dev, "Switching to 10MBps at full duplex.\n");
                hp->sw_bmcr |= BMCR_FULLDPLX;
        } else {
-               netdev_info(hp->dev, "Using 10Mbps at half duplex.");
+               netdev_info(hp->dev, "Using 10Mbps at half duplex.\n");
        }
        happy_meal_tcvr_write(hp, tregs, MII_BMCR, hp->sw_bmcr);
 
        int elem;
 
        elem = hp->tx_old;
-       TXD("TX<");
        while (elem != hp->tx_new) {
                struct sk_buff *skb;
                u32 flags, dma_addr, dma_len;
                int frag;
 
-               TXD("[%d]", elem);
+               TXD("TX[%d]\n", elem);
                this = &txbase[elem];
                flags = hme_read_desc32(hp, &this->tx_flags);
                if (flags & TXFLAG_OWN)
                dev->stats.tx_packets++;
        }
        hp->tx_old = elem;
-       TXD(">");
 
        if (netif_queue_stopped(dev) &&
            TX_BUFFS_AVAIL(hp) > (MAX_SKB_FRAGS + 1))
        int elem = hp->rx_new, drops = 0;
        u32 flags;
 
-       RXD("RX<");
        this = &rxbase[elem];
        while (!((flags = hme_read_desc32(hp, &this->rx_flags)) & RXFLAG_OWN)) {
                struct sk_buff *skb;
                u16 csum = flags & RXFLAG_CSUM;
                u32 dma_addr = hme_read_desc32(hp, &this->rx_addr);
 
-               RXD("[%d ", elem);
-
                /* Check for errors. */
                if ((len < ETH_ZLEN) || (flags & RXFLAG_OVERFLOW)) {
-                       RXD("ERR(%08x)]", flags);
+                       RXD("RX[%d ERR(%08x)]", elem, flags);
                        dev->stats.rx_errors++;
                        if (len < ETH_ZLEN)
                                dev->stats.rx_length_errors++;
                skb->csum = csum_unfold(~(__force __sum16)htons(csum));
                skb->ip_summed = CHECKSUM_COMPLETE;
 
-               RXD("len=%d csum=%4x]", len, csum);
+               RXD("RX[%d len=%d csum=%4x]", elem, len, csum);
                skb->protocol = eth_type_trans(skb, dev);
                netif_rx(skb);
 
        hp->rx_new = elem;
        if (drops)
                netdev_info(hp->dev, "Memory squeeze, deferring packet.\n");
-       RXD(">");
 }
 
 static irqreturn_t happy_meal_interrupt(int irq, void *dev_id)
        struct happy_meal *hp  = netdev_priv(dev);
        u32 happy_status       = hme_read32(hp, hp->gregs + GREG_STAT);
 
-       HMD("happy_meal_interrupt: status=%08x ", happy_status);
+       HMD("status=%08x\n", happy_status);
 
        spin_lock(&hp->happy_lock);
 
        if (happy_status & GREG_STAT_ERRORS) {
-               HMD("ERRORS ");
                if (happy_meal_is_not_so_happy(hp, /* un- */ happy_status))
                        goto out;
        }
 
-       if (happy_status & GREG_STAT_MIFIRQ) {
-               HMD("MIFIRQ ");
+       if (happy_status & GREG_STAT_MIFIRQ)
                happy_meal_mif_interrupt(hp);
-       }
 
-       if (happy_status & GREG_STAT_TXALL) {
-               HMD("TXALL ");
+       if (happy_status & GREG_STAT_TXALL)
                happy_meal_tx(hp);
-       }
 
-       if (happy_status & GREG_STAT_RXTOHOST) {
-               HMD("RXTOHOST ");
+       if (happy_status & GREG_STAT_RXTOHOST)
                happy_meal_rx(hp, dev);
-       }
 
        HMD("done\n");
 out:
                struct happy_meal *hp  = netdev_priv(dev);
                u32 happy_status       = hme_read32(hp, hp->gregs + GREG_STAT);
 
-               HMD("quattro_interrupt: status=%08x ", happy_status);
+               HMD("status=%08x\n", happy_status);
 
                if (!(happy_status & (GREG_STAT_ERRORS |
                                      GREG_STAT_MIFIRQ |
 
                spin_lock(&hp->happy_lock);
 
-               if (happy_status & GREG_STAT_ERRORS) {
-                       HMD("ERRORS ");
+               if (happy_status & GREG_STAT_ERRORS)
                        if (happy_meal_is_not_so_happy(hp, happy_status))
                                goto next;
-               }
 
-               if (happy_status & GREG_STAT_MIFIRQ) {
-                       HMD("MIFIRQ ");
+               if (happy_status & GREG_STAT_MIFIRQ)
                        happy_meal_mif_interrupt(hp);
-               }
 
-               if (happy_status & GREG_STAT_TXALL) {
-                       HMD("TXALL ");
+               if (happy_status & GREG_STAT_TXALL)
                        happy_meal_tx(hp);
-               }
 
-               if (happy_status & GREG_STAT_RXTOHOST) {
-                       HMD("RXTOHOST ");
+               if (happy_status & GREG_STAT_RXTOHOST)
                        happy_meal_rx(hp, dev);
-               }
 
        next:
                spin_unlock(&hp->happy_lock);
        struct happy_meal *hp = netdev_priv(dev);
        int res;
 
-       HMD("happy_meal_open: ");
-
        /* On SBUS Quattro QFE cards, all hme interrupts are concentrated
         * into a single source which we register handling at probe time.
         */
        }
 
        entry = hp->tx_new;
-       SXD("SX<l[%d]e[%d]>", len, entry);
+       SXD("SX<l[%d]e[%d]>\n", skb->len, entry);
        hp->tx_skbs[entry] = skb;
 
        if (skb_shinfo(skb)->nr_frags == 0) {
        platform_set_drvdata(op, hp);
 
        if (qfe_slot != -1)
-               netdev_info(dev, "Quattro HME slot %d (SBUS) 10/100baseT Ethernet ",
-                           qfe_slot);
+               netdev_info(dev,
+                           "Quattro HME slot %d (SBUS) 10/100baseT Ethernet %pM\n",
+                           qfe_slot, dev->dev_addr);
        else
-               netdev_info(dev, "HAPPY MEAL (SBUS) 10/100baseT Ethernet ");
-
-       printk("%pM\n", dev->dev_addr);
+               netdev_info(dev, "HAPPY MEAL (SBUS) 10/100baseT Ethernet %pM\n",
+                           dev->dev_addr);
 
        return 0;
 
                        sprintf(prom_name, "-%d", i + 3);
                }
                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");
-               else
-                       printk("unknown bridge %04x.%04x\n",
-                               qpdev->vendor, qpdev->device);
+                           "%s: Quattro HME (PCI/CheerIO) 10/100baseT Ethernet bridge %04x.%04x\n",
+                           prom_name, qpdev->vendor, qpdev->device);
        }
 
        if (qfe_slot != -1)
                netdev_info(dev,
-                           "Quattro HME slot %d (PCI/CheerIO) 10/100baseT Ethernet ",
-                           qfe_slot);
+                           "Quattro HME slot %d (PCI/CheerIO) 10/100baseT Ethernet %pM\n",
+                           qfe_slot, dev->dev_addr);
        else
                netdev_info(dev,
-                           "HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet ");
-
-       printk("%pM\n", dev->dev_addr);
+                           "HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet %pM\n",
+                           dev->dev_addr);
 
        return 0;