8390 : Replace ei_debug with msg_enable/NETIF_MSG_* feature
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / net / ethernet / 8390 / apne.c
index 912ed7a..811fa5d 100644 (file)
@@ -116,9 +116,15 @@ static const char version[] =
 
 static int apne_owned; /* signal if card already owned */
 
+static u32 apne_msg_enable;
+module_param_named(msg_enable, apne_msg_enable, uint, (S_IRUSR|S_IRGRP|S_IROTH));
+MODULE_PARM_DESC(msg_enable, "Debug message level (see linux/netdevice.h for bitmap)");
+
 struct net_device * __init apne_probe(int unit)
 {
        struct net_device *dev;
+       struct ei_device *ei_local;
+
 #ifndef MANUAL_CONFIG
        char tuple[8];
 #endif
@@ -133,11 +139,11 @@ struct net_device * __init apne_probe(int unit)
        if ( !(AMIGAHW_PRESENT(PCMCIA)) )
                return ERR_PTR(-ENODEV);
 
-       printk("Looking for PCMCIA ethernet card : ");
+       pr_info("Looking for PCMCIA ethernet card : ");
 
        /* check if a card is inserted */
        if (!(PCMCIA_INSERTED)) {
-               printk("NO PCMCIA card inserted\n");
+               pr_cont("NO PCMCIA card inserted\n");
                return ERR_PTR(-ENODEV);
        }
 
@@ -148,6 +154,8 @@ struct net_device * __init apne_probe(int unit)
                sprintf(dev->name, "eth%d", unit);
                netdev_boot_setup_check(dev);
        }
+       ei_local = netdev_priv(dev);
+       ei_local->msg_enable = apne_msg_enable;
 
        /* disable pcmcia irq for readtuple */
        pcmcia_disable_irq();
@@ -155,14 +163,14 @@ struct net_device * __init apne_probe(int unit)
 #ifndef MANUAL_CONFIG
        if ((pcmcia_copy_tuple(CISTPL_FUNCID, tuple, 8) < 3) ||
                (tuple[2] != CISTPL_FUNCID_NETWORK)) {
-               printk("not an ethernet card\n");
+               pr_cont("not an ethernet card\n");
                /* XXX: shouldn't we re-enable irq here? */
                free_netdev(dev);
                return ERR_PTR(-ENODEV);
        }
 #endif
 
-       printk("ethernet PCMCIA card inserted\n");
+       pr_cont("ethernet PCMCIA card inserted\n");
 
        if (!init_pcmcia()) {
                /* XXX: shouldn't we re-enable irq here? */
@@ -204,11 +212,12 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
     int neX000, ctron;
 #endif
     static unsigned version_printed;
+    struct ei_device *ei_local = netdev_priv(dev);
 
-    if (ei_debug  &&  version_printed++ == 0)
-       printk(version);
+    if ((apne_msg_enable & NETIF_MSG_DRV) && (version_printed++ == 0))
+               netdev_info(dev, version);
 
-    printk("PCMCIA NE*000 ethercard probe");
+    netdev_info(dev, "PCMCIA NE*000 ethercard probe");
 
     /* Reset card. Who knows what dain-bramaged state it was left in. */
     {  unsigned long reset_start_time = jiffies;
@@ -217,7 +226,7 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
 
        while ((inb(ioaddr + NE_EN0_ISR) & ENISR_RESET) == 0)
                if (time_after(jiffies, reset_start_time + 2*HZ/100)) {
-                       printk(" not found (no reset ack).\n");
+                       pr_cont(" not found (no reset ack).\n");
                        return -ENODEV;
                }
 
@@ -288,7 +297,7 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
        start_page = 0x01;
        stop_page = (wordlength == 2) ? 0x40 : 0x20;
     } else {
-       printk(" not found.\n");
+       pr_cont(" not found.\n");
        return -ENXIO;
 
     }
@@ -320,9 +329,9 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
     for (i = 0; i < ETH_ALEN; i++)
        dev->dev_addr[i] = SA_prom[i];
 
-    printk(" %pM\n", dev->dev_addr);
+    pr_cont(" %pM\n", dev->dev_addr);
 
-    printk("%s: %s found.\n", dev->name, name);
+    netdev_info(dev, "%s found.\n", name);
 
     ei_status.name = name;
     ei_status.tx_start_page = start_page;
@@ -352,10 +361,11 @@ static void
 apne_reset_8390(struct net_device *dev)
 {
     unsigned long reset_start_time = jiffies;
+    struct ei_device *ei_local = netdev_priv(dev);
 
     init_pcmcia();
 
-    if (ei_debug > 1) printk("resetting the 8390 t=%ld...", jiffies);
+    netif_dbg(ei_local, hw, dev, "resetting the 8390 t=%ld...\n", jiffies);
 
     outb(inb(NE_BASE + NE_RESET), NE_BASE + NE_RESET);
 
@@ -365,8 +375,8 @@ apne_reset_8390(struct net_device *dev)
     /* This check _should_not_ be necessary, omit eventually. */
     while ((inb(NE_BASE+NE_EN0_ISR) & ENISR_RESET) == 0)
        if (time_after(jiffies, reset_start_time + 2*HZ/100)) {
-           printk("%s: ne_reset_8390() did not complete.\n", dev->name);
-           break;
+               netdev_err(dev, "ne_reset_8390() did not complete.\n");
+               break;
        }
     outb(ENISR_RESET, NE_BASE + NE_EN0_ISR);   /* Ack intr. */
 }
@@ -386,9 +396,9 @@ apne_get_8390_hdr(struct net_device *dev, struct e8390_pkt_hdr *hdr, int ring_pa
 
     /* This *shouldn't* happen. If it does, it's the last thing you'll see */
     if (ei_status.dmaing) {
-       printk("%s: DMAing conflict in ne_get_8390_hdr "
-          "[DMAstat:%d][irqlock:%d][intr:%d].\n",
-          dev->name, ei_status.dmaing, ei_status.irqlock, dev->irq);
+       netdev_err(dev, "DMAing conflict in ne_get_8390_hdr "
+                  "[DMAstat:%d][irqlock:%d][intr:%d].\n",
+                  ei_status.dmaing, ei_status.irqlock, dev->irq);
        return;
     }
 
@@ -433,9 +443,9 @@ apne_block_input(struct net_device *dev, int count, struct sk_buff *skb, int rin
 
     /* This *shouldn't* happen. If it does, it's the last thing you'll see */
     if (ei_status.dmaing) {
-       printk("%s: DMAing conflict in ne_block_input "
-          "[DMAstat:%d][irqlock:%d][intr:%d].\n",
-          dev->name, ei_status.dmaing, ei_status.irqlock, dev->irq);
+               netdev_err(dev, "DMAing conflict in ne_block_input "
+                          "[DMAstat:%d][irqlock:%d][intr:%d].\n",
+                          ei_status.dmaing, ei_status.irqlock, dev->irq);
        return;
     }
     ei_status.dmaing |= 0x01;
@@ -481,9 +491,9 @@ apne_block_output(struct net_device *dev, int count,
 
     /* This *shouldn't* happen. If it does, it's the last thing you'll see */
     if (ei_status.dmaing) {
-       printk("%s: DMAing conflict in ne_block_output."
-          "[DMAstat:%d][irqlock:%d][intr:%d]\n",
-          dev->name, ei_status.dmaing, ei_status.irqlock, dev->irq);
+               netdev_err(dev, "DMAing conflict in ne_block_output."
+                          "[DMAstat:%d][irqlock:%d][intr:%d]\n",
+                          ei_status.dmaing, ei_status.irqlock, dev->irq);
        return;
     }
     ei_status.dmaing |= 0x01;
@@ -513,7 +523,7 @@ apne_block_output(struct net_device *dev, int count,
 
     while ((inb(NE_BASE + NE_EN0_ISR) & ENISR_RDC) == 0)
        if (time_after(jiffies, dma_start + 2*HZ/100)) {        /* 20ms */
-               printk("%s: timeout waiting for Tx RDC.\n", dev->name);
+               netdev_warn(dev, "timeout waiting for Tx RDC.\n");
                apne_reset_8390(dev);
                NS8390_init(dev,1);
                break;
@@ -536,8 +546,8 @@ static irqreturn_t apne_interrupt(int irq, void *dev_id)
         pcmcia_ack_int(pcmcia_intreq);
         return IRQ_NONE;
     }
-    if (ei_debug > 3)
-        printk("pcmcia intreq = %x\n", pcmcia_intreq);
+    if (apne_msg_enable & NETIF_MSG_INTR)
+       pr_debug("pcmcia intreq = %x\n", pcmcia_intreq);
     pcmcia_disable_irq();                      /* to get rid of the sti() within ei_interrupt */
     ei_interrupt(irq, dev_id);
     pcmcia_ack_int(pcmcia_get_intreq());