Subject: Re: [PATCH] natsemi netpoll support

From: Kalev Lember <[email-masked]>
Date: Tue, 27 Jul 2004 21:22:40 +0300

Jeff Garzik wrote:

> please also #ifdef the prototype

Sorry. Attached updated patch.

-- 
Kalev Lember
--- linux-2.6.8-rc2/drivers/net/natsemi.c.orig	2004-07-25 23:37:05.000000000 +0300
+++ linux-2.6.8-rc2/drivers/net/natsemi.c	2004-07-27 21:18:52.676300394 +0300
@@ -750,6 +750,9 @@ static void netdev_error(struct net_devi
 static void netdev_rx(struct net_device *dev);
 static void netdev_tx_done(struct net_device *dev);
 static int natsemi_change_mtu(struct net_device *dev, int new_mtu);
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void natsemi_poll_controller(struct net_device *dev);
+#endif
 static void __set_rx_mode(struct net_device *dev);
 static void set_rx_mode(struct net_device *dev);
 static void __get_stats(struct net_device *dev);
@@ -920,6 +923,9 @@ static int __devinit natsemi_probe1 (str
 	dev->do_ioctl = &netdev_ioctl;
 	dev->tx_timeout = &tx_timeout;
 	dev->watchdog_timeo = TX_TIMEOUT;
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	dev->poll_controller = &natsemi_poll_controller;
+#endif
 
 	if (mtu)
 		dev->mtu = mtu;
@@ -2364,6 +2370,15 @@ static struct net_device_stats *get_stat
 	return &np->stats;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void natsemi_poll_controller(struct net_device *dev)
+{
+	disable_irq(dev->irq);
+	intr_handler(dev->irq, dev, NULL);
+	enable_irq(dev->irq);
+}
+#endif
+
 #define HASH_TABLE	0x200
 static void __set_rx_mode(struct net_device *dev)
 {