Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0dc7d2b3 authored by Joe Perches's avatar Joe Perches Committed by David S. Miller
Browse files

drivers/net/ks*: Use netdev_<level>, netif_<level> and pr_<level>



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: default avatarDavid S. Miller <davem@davemloft.net>
parent ca509101
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;
+39 −49
Original line number Diff line number Diff line
@@ -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,7 +443,8 @@ 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",
	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,8 +655,7 @@ 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",
	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++;
@@ -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,7 +1284,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
		goto err_netdev;
	}

	dev_info(&spi->dev, "revision %d, MAC %pM, IRQ %d\n",
	netdev_info(ndev, "revision %d, MAC %pM, IRQ %d\n",
		    CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
		    ndev->dev_addr, ndev->irq);

@@ -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);
+20 −30
Original line number Diff line number Diff line
@@ -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,8 +1617,7 @@ 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",
	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;

+28 −37
Original line number Diff line number Diff line
@@ -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;