]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drivers/net/ks*: Use netdev_<level>, netif_<level> and pr_<level>
authorJoe Perches <joe@perches.com>
Sat, 27 Feb 2010 14:43:51 +0000 (14:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Mar 2010 04:23:25 +0000 (21:23 -0700)
I'm not sure this is correct.

It changes logging macros from:
dev_<level>(&ks->spidev->dev,
to
netdev_<level>(ks->netdev,

Comments?

Use netdev_<level>
Use netif_<level>
Use pr_<level>
Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Add missing line to message in ks8851_remove
Change kmalloc/memset(,0) to kzalloc
Remove ks_<level> macros
Consolidation code into set_media_state

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ks8842.c
drivers/net/ks8851.c
drivers/net/ks8851_mll.c
drivers/net/ksz884x.c

index 5c45cb58d023827665d22385e044c199a753a96d..b91492f4e48a9cb61cf2e5889102421dae0a0cac 100644 (file)
@@ -20,6 +20,8 @@
  * The Micrel KS8842 behind the timberdale FPGA
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
@@ -525,8 +527,7 @@ static int ks8842_open(struct net_device *netdev)
        err = request_irq(adapter->irq, ks8842_irq, IRQF_SHARED, DRV_NAME,
                adapter);
        if (err) {
-               printk(KERN_ERR "Failed to request IRQ: %d: %d\n",
-                       adapter->irq, err);
+               pr_err("Failed to request IRQ: %d: %d\n", adapter->irq, err);
                return err;
        }
 
@@ -668,8 +669,7 @@ static int __devinit ks8842_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, netdev);
 
-       printk(KERN_INFO DRV_NAME
-               " Found chip, family: 0x%x, id: 0x%x, rev: 0x%x\n",
+       pr_info("Found chip, family: 0x%x, id: 0x%x, rev: 0x%x\n",
                (id >> 8) & 0xff, (id >> 4) & 0xf, (id >> 1) & 0x7);
 
        return 0;
index 0573e0bb4444162e5153043532023b82b7a16bb0..6f414824caf7b1c9346e76ee6dfce81d657656df 100644 (file)
@@ -9,6 +9,8 @@
  * published by the Free Software Foundation.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #define DEBUG
 
 #include <linux/module.h>
@@ -125,11 +127,6 @@ struct ks8851_net {
 
 static int msg_enable;
 
-#define ks_info(_ks, _msg...) dev_info(&(_ks)->spidev->dev, _msg)
-#define ks_warn(_ks, _msg...) dev_warn(&(_ks)->spidev->dev, _msg)
-#define ks_dbg(_ks, _msg...) dev_dbg(&(_ks)->spidev->dev, _msg)
-#define ks_err(_ks, _msg...) dev_err(&(_ks)->spidev->dev, _msg)
-
 /* shift for byte-enable data */
 #define BYTE_EN(_x)    ((_x) << 2)
 
@@ -167,7 +164,7 @@ static void ks8851_wrreg16(struct ks8851_net *ks, unsigned reg, unsigned val)
 
        ret = spi_sync(ks->spidev, msg);
        if (ret < 0)
-               ks_err(ks, "spi_sync() failed\n");
+               netdev_err(ks->netdev, "spi_sync() failed\n");
 }
 
 /**
@@ -197,7 +194,7 @@ static void ks8851_wrreg8(struct ks8851_net *ks, unsigned reg, unsigned val)
 
        ret = spi_sync(ks->spidev, msg);
        if (ret < 0)
-               ks_err(ks, "spi_sync() failed\n");
+               netdev_err(ks->netdev, "spi_sync() failed\n");
 }
 
 /**
@@ -263,7 +260,7 @@ static void ks8851_rdreg(struct ks8851_net *ks, unsigned op,
 
        ret = spi_sync(ks->spidev, msg);
        if (ret < 0)
-               ks_err(ks, "read: spi_sync() failed\n");
+               netdev_err(ks->netdev, "read: spi_sync() failed\n");
        else if (ks8851_rx_1msg(ks))
                memcpy(rxb, trx + 2, rxl);
        else
@@ -417,8 +414,8 @@ static void ks8851_rdfifo(struct ks8851_net *ks, u8 *buff, unsigned len)
        u8 txb[1];
        int ret;
 
-       if (netif_msg_rx_status(ks))
-               ks_dbg(ks, "%s: %d@%p\n", __func__, len, buff);
+       netif_dbg(ks, rx_status, ks->netdev,
+                 "%s: %d@%p\n", __func__, len, buff);
 
        /* set the operation we're issuing */
        txb[0] = KS_SPIOP_RXFIFO;
@@ -434,7 +431,7 @@ static void ks8851_rdfifo(struct ks8851_net *ks, u8 *buff, unsigned len)
 
        ret = spi_sync(ks->spidev, msg);
        if (ret < 0)
-               ks_err(ks, "%s: spi_sync() failed\n", __func__);
+               netdev_err(ks->netdev, "%s: spi_sync() failed\n", __func__);
 }
 
 /**
@@ -446,10 +443,11 @@ static void ks8851_rdfifo(struct ks8851_net *ks, u8 *buff, unsigned len)
 */
 static void ks8851_dbg_dumpkkt(struct ks8851_net *ks, u8 *rxpkt)
 {
-       ks_dbg(ks, "pkt %02x%02x%02x%02x %02x%02x%02x%02x %02x%02x%02x%02x\n",
-              rxpkt[4], rxpkt[5], rxpkt[6], rxpkt[7],
-              rxpkt[8], rxpkt[9], rxpkt[10], rxpkt[11],
-              rxpkt[12], rxpkt[13], rxpkt[14], rxpkt[15]);
+       netdev_dbg(ks->netdev,
+                  "pkt %02x%02x%02x%02x %02x%02x%02x%02x %02x%02x%02x%02x\n",
+                  rxpkt[4], rxpkt[5], rxpkt[6], rxpkt[7],
+                  rxpkt[8], rxpkt[9], rxpkt[10], rxpkt[11],
+                  rxpkt[12], rxpkt[13], rxpkt[14], rxpkt[15]);
 }
 
 /**
@@ -471,8 +469,8 @@ static void ks8851_rx_pkts(struct ks8851_net *ks)
 
        rxfc = ks8851_rdreg8(ks, KS_RXFC);
 
-       if (netif_msg_rx_status(ks))
-               ks_dbg(ks, "%s: %d packets\n", __func__, rxfc);
+       netif_dbg(ks, rx_status, ks->netdev,
+                 "%s: %d packets\n", __func__, rxfc);
 
        /* Currently we're issuing a read per packet, but we could possibly
         * improve the code by issuing a single read, getting the receive
@@ -489,9 +487,8 @@ static void ks8851_rx_pkts(struct ks8851_net *ks)
                rxstat = rxh & 0xffff;
                rxlen = rxh >> 16;
 
-               if (netif_msg_rx_status(ks))
-                       ks_dbg(ks, "rx: stat 0x%04x, len 0x%04x\n",
-                               rxstat, rxlen);
+               netif_dbg(ks, rx_status, ks->netdev,
+                         "rx: stat 0x%04x, len 0x%04x\n", rxstat, rxlen);
 
                /* the length of the packet includes the 32bit CRC */
 
@@ -553,9 +550,8 @@ static void ks8851_irq_work(struct work_struct *work)
 
        status = ks8851_rdreg16(ks, KS_ISR);
 
-       if (netif_msg_intr(ks))
-               dev_dbg(&ks->spidev->dev, "%s: status 0x%04x\n",
-                       __func__, status);
+       netif_dbg(ks, intr, ks->netdev,
+                 "%s: status 0x%04x\n", __func__, status);
 
        if (status & IRQ_LCI) {
                /* should do something about checking link status */
@@ -582,8 +578,8 @@ static void ks8851_irq_work(struct work_struct *work)
                 * system */
                ks->tx_space = ks8851_rdreg16(ks, KS_TXMIR);
 
-               if (netif_msg_intr(ks))
-                       ks_dbg(ks, "%s: txspace %d\n", __func__, ks->tx_space);
+               netif_dbg(ks, intr, ks->netdev,
+                         "%s: txspace %d\n", __func__, ks->tx_space);
        }
 
        if (status & IRQ_RXI)
@@ -659,9 +655,8 @@ static void ks8851_wrpkt(struct ks8851_net *ks, struct sk_buff *txp, bool irq)
        unsigned fid = 0;
        int ret;
 
-       if (netif_msg_tx_queued(ks))
-               dev_dbg(&ks->spidev->dev, "%s: skb %p, %d@%p, irq %d\n",
-                       __func__, txp, txp->len, txp->data, irq);
+       netif_dbg(ks, tx_queued, ks->netdev, "%s: skb %p, %d@%p, irq %d\n",
+                 __func__, txp, txp->len, txp->data, irq);
 
        fid = ks->fid++;
        fid &= TXFR_TXFID_MASK;
@@ -685,7 +680,7 @@ static void ks8851_wrpkt(struct ks8851_net *ks, struct sk_buff *txp, bool irq)
 
        ret = spi_sync(ks->spidev, msg);
        if (ret < 0)
-               ks_err(ks, "%s: spi_sync() failed\n", __func__);
+               netdev_err(ks->netdev, "%s: spi_sync() failed\n", __func__);
 }
 
 /**
@@ -744,8 +739,7 @@ static void ks8851_set_powermode(struct ks8851_net *ks, unsigned pwrmode)
 {
        unsigned pmecr;
 
-       if (netif_msg_hw(ks))
-               ks_dbg(ks, "setting power mode %d\n", pwrmode);
+       netif_dbg(ks, hw, ks->netdev, "setting power mode %d\n", pwrmode);
 
        pmecr = ks8851_rdreg16(ks, KS_PMECR);
        pmecr &= ~PMECR_PM_MASK;
@@ -769,8 +763,7 @@ static int ks8851_net_open(struct net_device *dev)
         * else at the moment */
        mutex_lock(&ks->lock);
 
-       if (netif_msg_ifup(ks))
-               ks_dbg(ks, "opening %s\n", dev->name);
+       netif_dbg(ks, ifup, ks->netdev, "opening\n");
 
        /* bring chip out of any power saving mode it was in */
        ks8851_set_powermode(ks, PMECR_PM_NORMAL);
@@ -826,8 +819,7 @@ static int ks8851_net_open(struct net_device *dev)
 
        netif_start_queue(ks->netdev);
 
-       if (netif_msg_ifup(ks))
-               ks_dbg(ks, "network device %s up\n", dev->name);
+       netif_dbg(ks, ifup, ks->netdev, "network device up\n");
 
        mutex_unlock(&ks->lock);
        return 0;
@@ -845,8 +837,7 @@ static int ks8851_net_stop(struct net_device *dev)
 {
        struct ks8851_net *ks = netdev_priv(dev);
 
-       if (netif_msg_ifdown(ks))
-               ks_info(ks, "%s: shutting down\n", dev->name);
+       netif_info(ks, ifdown, dev, "shutting down\n");
 
        netif_stop_queue(dev);
 
@@ -874,8 +865,8 @@ static int ks8851_net_stop(struct net_device *dev)
        while (!skb_queue_empty(&ks->txq)) {
                struct sk_buff *txb = skb_dequeue(&ks->txq);
 
-               if (netif_msg_ifdown(ks))
-                       ks_dbg(ks, "%s: freeing txb %p\n", __func__, txb);
+               netif_dbg(ks, ifdown, ks->netdev,
+                         "%s: freeing txb %p\n", __func__, txb);
 
                dev_kfree_skb(txb);
        }
@@ -904,9 +895,8 @@ static netdev_tx_t ks8851_start_xmit(struct sk_buff *skb,
        unsigned needed = calc_txlen(skb->len);
        netdev_tx_t ret = NETDEV_TX_OK;
 
-       if (netif_msg_tx_queued(ks))
-               ks_dbg(ks, "%s: skb %p, %d@%p\n", __func__,
-                      skb, skb->len, skb->data);
+       netif_dbg(ks, tx_queued, ks->netdev,
+                 "%s: skb %p, %d@%p\n", __func__, skb, skb->len, skb->data);
 
        spin_lock(&ks->statelock);
 
@@ -1186,17 +1176,17 @@ static int ks8851_read_selftest(struct ks8851_net *ks)
        rd = ks8851_rdreg16(ks, KS_MBIR);
 
        if ((rd & both_done) != both_done) {
-               ks_warn(ks, "Memory selftest not finished\n");
+               netdev_warn(ks->netdev, "Memory selftest not finished\n");
                return 0;
        }
 
        if (rd & MBIR_TXMBFA) {
-               ks_err(ks, "TX memory selftest fail\n");
+               netdev_err(ks->netdev, "TX memory selftest fail\n");
                ret |= 1;
        }
 
        if (rd & MBIR_RXMBFA) {
-               ks_err(ks, "RX memory selftest fail\n");
+               netdev_err(ks->netdev, "RX memory selftest fail\n");
                ret |= 2;
        }
 
@@ -1294,9 +1284,9 @@ static int __devinit ks8851_probe(struct spi_device *spi)
                goto err_netdev;
        }
 
-       dev_info(&spi->dev, "revision %d, MAC %pM, IRQ %d\n",
-                CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
-                ndev->dev_addr, ndev->irq);
+       netdev_info(ndev, "revision %d, MAC %pM, IRQ %d\n",
+                   CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
+                   ndev->dev_addr, ndev->irq);
 
        return 0;
 
@@ -1315,7 +1305,7 @@ static int __devexit ks8851_remove(struct spi_device *spi)
        struct ks8851_net *priv = dev_get_drvdata(&spi->dev);
 
        if (netif_msg_drv(priv))
-               dev_info(&spi->dev, "remove");
+               dev_info(&spi->dev, "remove\n");
 
        unregister_netdev(priv->netdev);
        free_irq(spi->irq, priv);
index 84b0e15831f943d0bf46327cb44b7c6be42b49c1..d3c6a77f7ec04a8494daba1cafcc6f5c763561ba 100644 (file)
@@ -21,6 +21,8 @@
  * KS8851 16bit MLL chip from Micrel Inc.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/netdevice.h>
@@ -458,11 +460,6 @@ struct ks_net {
 
 static int msg_enable;
 
-#define ks_info(_ks, _msg...) dev_info(&(_ks)->pdev->dev, _msg)
-#define ks_warn(_ks, _msg...) dev_warn(&(_ks)->pdev->dev, _msg)
-#define ks_dbg(_ks, _msg...) dev_dbg(&(_ks)->pdev->dev, _msg)
-#define ks_err(_ks, _msg...) dev_err(&(_ks)->pdev->dev, _msg)
-
 #define BE3             0x8000      /* Byte Enable 3 */
 #define BE2             0x4000      /* Byte Enable 2 */
 #define BE1             0x2000      /* Byte Enable 1 */
@@ -624,8 +621,7 @@ static void ks_set_powermode(struct ks_net *ks, unsigned pwrmode)
 {
        unsigned pmecr;
 
-       if (netif_msg_hw(ks))
-               ks_dbg(ks, "setting power mode %d\n", pwrmode);
+       netif_dbg(ks, hw, ks->netdev, "setting power mode %d\n", pwrmode);
 
        ks_rdreg16(ks, KS_GRR);
        pmecr = ks_rdreg16(ks, KS_PMECR);
@@ -809,7 +805,7 @@ static void ks_rcv(struct ks_net *ks, struct net_device *netdev)
                        skb->protocol = eth_type_trans(skb, netdev);
                        netif_rx(skb);
                } else {
-                       printk(KERN_ERR "%s: err:skb alloc\n", __func__);
+                       pr_err("%s: err:skb alloc\n", __func__);
                        ks_wrreg16(ks, KS_RXQCR, (ks->rc_rxqcr | RXQCR_RRXEF));
                        if (skb)
                                dev_kfree_skb_irq(skb);
@@ -836,9 +832,8 @@ static void ks_update_link_status(struct net_device *netdev, struct ks_net *ks)
                netif_carrier_off(netdev);
                link_up_status = false;
        }
-       if (netif_msg_link(ks))
-               ks_dbg(ks, "%s: %s\n",
-                       __func__, link_up_status ? "UP" : "DOWN");
+       netif_dbg(ks, link, ks->netdev,
+                 "%s: %s\n", __func__, link_up_status ? "UP" : "DOWN");
 }
 
 /**
@@ -908,15 +903,13 @@ static int ks_net_open(struct net_device *netdev)
         * else at the moment.
         */
 
-       if (netif_msg_ifup(ks))
-               ks_dbg(ks, "%s - entry\n", __func__);
+       netif_dbg(ks, ifup, ks->netdev, "%s - entry\n", __func__);
 
        /* reset the HW */
        err = request_irq(ks->irq, ks_irq, KS_INT_FLAGS, DRV_NAME, netdev);
 
        if (err) {
-               printk(KERN_ERR "Failed to request IRQ: %d: %d\n",
-                       ks->irq, err);
+               pr_err("Failed to request IRQ: %d: %d\n", ks->irq, err);
                return err;
        }
 
@@ -929,8 +922,7 @@ static int ks_net_open(struct net_device *netdev)
        ks_enable_qmu(ks);
        netif_start_queue(ks->netdev);
 
-       if (netif_msg_ifup(ks))
-               ks_dbg(ks, "network device %s up\n", netdev->name);
+       netif_dbg(ks, ifup, ks->netdev, "network device up\n");
 
        return 0;
 }
@@ -947,8 +939,7 @@ static int ks_net_stop(struct net_device *netdev)
 {
        struct ks_net *ks = netdev_priv(netdev);
 
-       if (netif_msg_ifdown(ks))
-               ks_info(ks, "%s: shutting down\n", netdev->name);
+       netif_info(ks, ifdown, netdev, "shutting down\n");
 
        netif_stop_queue(netdev);
 
@@ -1429,21 +1420,21 @@ static int ks_read_selftest(struct ks_net *ks)
        rd = ks_rdreg16(ks, KS_MBIR);
 
        if ((rd & both_done) != both_done) {
-               ks_warn(ks, "Memory selftest not finished\n");
+               netdev_warn(ks->netdev, "Memory selftest not finished\n");
                return 0;
        }
 
        if (rd & MBIR_TXMBFA) {
-               ks_err(ks, "TX memory selftest fails\n");
+               netdev_err(ks->netdev, "TX memory selftest fails\n");
                ret |= 1;
        }
 
        if (rd & MBIR_RXMBFA) {
-               ks_err(ks, "RX memory selftest fails\n");
+               netdev_err(ks->netdev, "RX memory selftest fails\n");
                ret |= 2;
        }
 
-       ks_info(ks, "the selftest passes\n");
+       netdev_info(ks->netdev, "the selftest passes\n");
        return ret;
 }
 
@@ -1514,7 +1505,7 @@ static int ks_hw_init(struct ks_net *ks)
        ks->frame_head_info = (struct type_frame_head *) \
                kmalloc(MHEADER_SIZE, GFP_KERNEL);
        if (!ks->frame_head_info) {
-               printk(KERN_ERR "Error: Fail to allocate frame memory\n");
+               pr_err("Error: Fail to allocate frame memory\n");
                return false;
        }
 
@@ -1580,7 +1571,7 @@ static int __devinit ks8851_probe(struct platform_device *pdev)
        ks->mii.mdio_read       = ks_phy_read;
        ks->mii.mdio_write      = ks_phy_write;
 
-       ks_info(ks, "message enable is %d\n", msg_enable);
+       netdev_info(netdev, "message enable is %d\n", msg_enable);
        /* set the default message enable */
        ks->msg_enable = netif_msg_init(msg_enable, (NETIF_MSG_DRV |
                                                     NETIF_MSG_PROBE |
@@ -1589,13 +1580,13 @@ static int __devinit ks8851_probe(struct platform_device *pdev)
 
        /* simple check for a valid chip being connected to the bus */
        if ((ks_rdreg16(ks, KS_CIDER) & ~CIDER_REV_MASK) != CIDER_ID) {
-               ks_err(ks, "failed to read device ID\n");
+               netdev_err(netdev, "failed to read device ID\n");
                err = -ENODEV;
                goto err_register;
        }
 
        if (ks_read_selftest(ks)) {
-               ks_err(ks, "failed to read device ID\n");
+               netdev_err(netdev, "failed to read device ID\n");
                err = -ENODEV;
                goto err_register;
        }
@@ -1626,9 +1617,8 @@ static int __devinit ks8851_probe(struct platform_device *pdev)
 
        id = ks_rdreg16(ks, KS_CIDER);
 
-       printk(KERN_INFO DRV_NAME
-               " Found chip, family: 0x%x, id: 0x%x, rev: 0x%x\n",
-               (id >> 8) & 0xff, (id >> 4) & 0xf, (id >> 1) & 0x7);
+       netdev_info(netdev, "Found chip, family: 0x%x, id: 0x%x, rev: 0x%x\n",
+                   (id >> 8) & 0xff, (id >> 4) & 0xf, (id >> 1) & 0x7);
        return 0;
 
 err_register:
index 0f59099ee72f8d504d314ef41af592d377f58795..f3357ae13f86cd43ebebf138640540e66ee84342 100644 (file)
@@ -14,6 +14,8 @@
  * GNU General Public License for more details.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -1483,11 +1485,6 @@ struct dev_priv {
        int promiscuous;
 };
 
-#define ks_info(_ks, _msg...) dev_info(&(_ks)->pdev->dev, _msg)
-#define ks_warn(_ks, _msg...) dev_warn(&(_ks)->pdev->dev, _msg)
-#define ks_dbg(_ks, _msg...) dev_dbg(&(_ks)->pdev->dev, _msg)
-#define ks_err(_ks, _msg...) dev_err(&(_ks)->pdev->dev, _msg)
-
 #define DRV_NAME               "KSZ884X PCI"
 #define DEVICE_NAME            "KSZ884x PCI"
 #define DRV_VERSION            "1.0.0"
@@ -3834,7 +3831,7 @@ static void ksz_check_desc_num(struct ksz_desc_info *info)
                alloc >>= 1;
        }
        if (alloc != 1 || shift < MIN_DESC_SHIFT) {
-               printk(KERN_ALERT "Hardware descriptor numbers not right!\n");
+               pr_alert("Hardware descriptor numbers not right!\n");
                while (alloc) {
                        shift++;
                        alloc >>= 1;
@@ -4545,8 +4542,7 @@ static int ksz_alloc_mem(struct dev_info *adapter)
                (((sizeof(struct ksz_hw_desc) + DESC_ALIGNMENT - 1) /
                DESC_ALIGNMENT) * DESC_ALIGNMENT);
        if (hw->rx_desc_info.size != sizeof(struct ksz_hw_desc))
-               printk(KERN_ALERT
-                       "Hardware descriptor size not right!\n");
+               pr_alert("Hardware descriptor size not right!\n");
        ksz_check_desc_num(&hw->rx_desc_info);
        ksz_check_desc_num(&hw->tx_desc_info);
 
@@ -5319,10 +5315,10 @@ static irqreturn_t netdev_intr(int irq, void *dev_id)
                        u32 data;
 
                        hw->intr_mask &= ~KS884X_INT_TX_STOPPED;
-                       printk(KERN_INFO "Tx stopped\n");
+                       pr_info("Tx stopped\n");
                        data = readl(hw->io + KS_DMA_TX_CTRL);
                        if (!(data & DMA_TX_ENABLE))
-                               printk(KERN_INFO "Tx disabled\n");
+                               pr_info("Tx disabled\n");
                        break;
                }
        } while (0);
@@ -5495,6 +5491,18 @@ static int prepare_hardware(struct net_device *dev)
        return 0;
 }
 
+static void set_media_state(struct net_device *dev, int media_state)
+{
+       struct dev_priv *priv = netdev_priv(dev);
+
+       if (media_state == priv->media_state)
+               netif_carrier_on(dev);
+       else
+               netif_carrier_off(dev);
+       netif_info(priv, link, dev, "link %s\n",
+                  media_state == priv->media_state ? "on" : "off");
+}
+
 /**
  * netdev_open - open network device
  * @dev:       Network device.
@@ -5584,15 +5592,7 @@ static int netdev_open(struct net_device *dev)
 
        priv->media_state = port->linked->state;
 
-       if (media_connected == priv->media_state)
-               netif_carrier_on(dev);
-       else
-               netif_carrier_off(dev);
-       if (netif_msg_link(priv))
-               printk(KERN_INFO "%s link %s\n", dev->name,
-                       (media_connected == priv->media_state ?
-                       "on" : "off"));
-
+       set_media_state(dev, media_connected);
        netif_start_queue(dev);
 
        return 0;
@@ -6682,16 +6682,8 @@ static void update_link(struct net_device *dev, struct dev_priv *priv,
 {
        if (priv->media_state != port->linked->state) {
                priv->media_state = port->linked->state;
-               if (netif_running(dev)) {
-                       if (media_connected == priv->media_state)
-                               netif_carrier_on(dev);
-                       else
-                               netif_carrier_off(dev);
-                       if (netif_msg_link(priv))
-                               printk(KERN_INFO "%s link %s\n", dev->name,
-                                       (media_connected == priv->media_state ?
-                                       "on" : "off"));
-               }
+               if (netif_running(dev))
+                       set_media_state(dev, media_connected);
        }
 }
 
@@ -6985,7 +6977,7 @@ static int __init pcidev_init(struct pci_dev *pdev,
        int pi;
        int port_count;
        int result;
-       char banner[80];
+       char banner[sizeof(version)];
        struct ksz_switch *sw = NULL;
 
        result = pci_enable_device(pdev);
@@ -7009,10 +7001,9 @@ static int __init pcidev_init(struct pci_dev *pdev,
 
        result = -ENOMEM;
 
-       info = kmalloc(sizeof(struct platform_info), GFP_KERNEL);
+       info = kzalloc(sizeof(struct platform_info), GFP_KERNEL);
        if (!info)
                goto pcidev_init_dev_err;
-       memset(info, 0, sizeof(struct platform_info));
 
        hw_priv = &info->dev_info;
        hw_priv->pdev = pdev;
@@ -7026,15 +7017,15 @@ static int __init pcidev_init(struct pci_dev *pdev,
        cnt = hw_init(hw);
        if (!cnt) {
                if (msg_enable & NETIF_MSG_PROBE)
-                       printk(KERN_ALERT "chip not detected\n");
+                       pr_alert("chip not detected\n");
                result = -ENODEV;
                goto pcidev_init_alloc_err;
        }
 
-       sprintf(banner, "%s\n", version);
-       banner[13] = cnt + '0';
-       ks_info(hw_priv, "%s", banner);
-       ks_dbg(hw_priv, "Mem = %p; IRQ = %d\n", hw->io, pdev->irq);
+       snprintf(banner, sizeof(banner), "%s", version);
+       banner[13] = cnt + '0';         /* Replace x in "Micrel KSZ884x" */
+       dev_info(&hw_priv->pdev->dev, "%s\n", banner);
+       dev_dbg(&hw_priv->pdev->dev, "Mem = %p; IRQ = %d\n", hw->io, pdev->irq);
 
        /* Assume device is KSZ8841. */
        hw->dev_count = 1;