* All Rights Reserved.
  */
 
-#define TC35815_NAPI
-#ifdef TC35815_NAPI
-#define DRV_VERSION    "1.38-NAPI"
-#else
-#define DRV_VERSION    "1.38"
-#endif
+#define DRV_VERSION    "1.39"
 static const char *version = "tc35815.c:v" DRV_VERSION "\n";
 #define MODNAME                        "tc35815"
 
 static int     tc35815_open(struct net_device *dev);
 static int     tc35815_send_packet(struct sk_buff *skb, struct net_device *dev);
 static irqreturn_t     tc35815_interrupt(int irq, void *dev_id);
-#ifdef TC35815_NAPI
 static int     tc35815_rx(struct net_device *dev, int limit);
 static int     tc35815_poll(struct napi_struct *napi, int budget);
-#else
-static void    tc35815_rx(struct net_device *dev);
-#endif
 static void    tc35815_txdone(struct net_device *dev);
 static int     tc35815_close(struct net_device *dev);
 static struct  net_device_stats *tc35815_get_stats(struct net_device *dev);
        dev->netdev_ops = &tc35815_netdev_ops;
        dev->ethtool_ops = &tc35815_ethtool_ops;
        dev->watchdog_timeo = TC35815_TX_TIMEOUT;
-#ifdef TC35815_NAPI
        netif_napi_add(dev, &lp->napi, tc35815_poll, NAPI_WEIGHT);
-#endif
 
        dev->irq = pdev->irq;
        dev->base_addr = (unsigned long)ioaddr;
                return -EAGAIN;
        }
 
-#ifdef TC35815_NAPI
        napi_enable(&lp->napi);
-#endif
 
        /* Reset the hardware here. Don't forget to set the station address. */
        spin_lock_irq(&lp->lock);
        tc35815_schedule_restart(dev);
 }
 
-#ifdef TC35815_NAPI
 static int tc35815_do_interrupt(struct net_device *dev, u32 status, int limit)
-#else
-static int tc35815_do_interrupt(struct net_device *dev, u32 status)
-#endif
 {
        struct tc35815_local *lp = netdev_priv(dev);
        int ret = -1;
        /* normal notification */
        if (status & Int_IntMacRx) {
                /* Got a packet(s). */
-#ifdef TC35815_NAPI
                ret = tc35815_rx(dev, limit);
-#else
-               tc35815_rx(dev);
-               ret = 0;
-#endif
                lp->lstats.rx_ints++;
        }
        if (status & Int_IntMacTx) {
                lp->lstats.tx_ints++;
                tc35815_txdone(dev);
                netif_wake_queue(dev);
-#ifdef TC35815_NAPI
                if (ret < 0)
                        ret = 0;
-#else
-               ret = 0;
-#endif
        }
        return ret;
 }
        struct tc35815_local *lp = netdev_priv(dev);
        struct tc35815_regs __iomem *tr =
                (struct tc35815_regs __iomem *)dev->base_addr;
-#ifdef TC35815_NAPI
        u32 dmactl = tc_readl(&tr->DMA_Ctl);
 
        if (!(dmactl & DMA_IntMask)) {
                return IRQ_HANDLED;
        }
        return IRQ_NONE;
-#else
-       int handled;
-       u32 status;
-
-       spin_lock(&lp->lock);
-       status = tc_readl(&tr->Int_Src);
-       /* BLEx, FDAEx will be cleared later */
-       tc_writel(status & ~(Int_BLEx | Int_FDAEx),
-                 &tr->Int_Src);        /* write to clear */
-       handled = tc35815_do_interrupt(dev, status);
-       if (status & (Int_BLEx | Int_FDAEx))
-               tc_writel(status & (Int_BLEx | Int_FDAEx), &tr->Int_Src);
-       (void)tc_readl(&tr->Int_Src);   /* flush */
-       spin_unlock(&lp->lock);
-       return IRQ_RETVAL(handled >= 0);
-#endif /* TC35815_NAPI */
 }
 
 #ifdef CONFIG_NET_POLL_CONTROLLER
 #endif
 
 /* We have a good packet(s), get it/them out of the buffers. */
-#ifdef TC35815_NAPI
 static int
 tc35815_rx(struct net_device *dev, int limit)
-#else
-static void
-tc35815_rx(struct net_device *dev)
-#endif
 {
        struct tc35815_local *lp = netdev_priv(dev);
        unsigned int fdctl;
        int i;
-#ifdef TC35815_NAPI
        int received = 0;
-#endif
 
        while (!((fdctl = le32_to_cpu(lp->rfd_cur->fd.FDCtl)) & FD_CownsFD)) {
                int status = le32_to_cpu(lp->rfd_cur->fd.FDStat);
                        int offset;
 #endif
 
-#ifdef TC35815_NAPI
                        if (--limit < 0)
                                break;
-#endif
 #ifdef TC35815_USE_PACKEDBUFFER
                        BUG_ON(bd_count > 2);
                        skb = dev_alloc_skb(pkt_len + NET_IP_ALIGN);
                        if (netif_msg_pktdata(lp))
                                print_eth(data);
                        skb->protocol = eth_type_trans(skb, dev);
-#ifdef TC35815_NAPI
                        netif_receive_skb(skb);
                        received++;
-#else
-                       netif_rx(skb);
-#endif
                        dev->stats.rx_packets++;
                        dev->stats.rx_bytes += pkt_len;
                } else {
 #endif
        }
 
-#ifdef TC35815_NAPI
        return received;
-#endif
 }
 
-#ifdef TC35815_NAPI
 static int tc35815_poll(struct napi_struct *napi, int budget)
 {
        struct tc35815_local *lp = container_of(napi, struct tc35815_local, napi);
        }
        return received;
 }
-#endif
 
 #ifdef NO_CHECK_CARRIER
 #define TX_STA_ERR     (Tx_ExColl|Tx_Under|Tx_Defer|Tx_LateColl|Tx_TxPar|Tx_SQErr)
                        pci_unmap_single(lp->pci_dev, lp->tx_skbs[lp->tfd_end].skb_dma, skb->len, PCI_DMA_TODEVICE);
                        lp->tx_skbs[lp->tfd_end].skb = NULL;
                        lp->tx_skbs[lp->tfd_end].skb_dma = 0;
-#ifdef TC35815_NAPI
                        dev_kfree_skb_any(skb);
-#else
-                       dev_kfree_skb_irq(skb);
-#endif
                }
                txfd->fd.FDSystem = cpu_to_le32(0xffffffff);
 
        struct tc35815_local *lp = netdev_priv(dev);
 
        netif_stop_queue(dev);
-#ifdef TC35815_NAPI
        napi_disable(&lp->napi);
-#endif
        if (lp->phy_dev)
                phy_stop(lp->phy_dev);
        cancel_work_sync(&lp->restart_work);