diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2005-11-23 12:50:04 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-01 02:25:27 -0500 |
commit | 8ce51d69b755c39e714826899631629209896b70 (patch) | |
tree | 1ba9f46705d8c5f1eed3a27d1fd423799ced6a14 /drivers/net | |
parent | cffbfcaf00c4a36592fabd54ae9f960b552322b6 (diff) | |
download | linux-8ce51d69b755c39e714826899631629209896b70.tar.bz2 |
[PATCH] ixp2000: add netpoll support
Add netpoll support to the ixp2000 driver.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ixp2000/ixpdev.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c index 2ef8f8fa6c4a..0f7b8ab62d78 100644 --- a/drivers/net/ixp2000/ixpdev.c +++ b/drivers/net/ixp2000/ixpdev.c @@ -218,6 +218,15 @@ static irqreturn_t ixpdev_interrupt(int irq, void *dev_id, struct pt_regs *regs) return IRQ_HANDLED; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void ixpdev_poll_controller(struct net_device *dev) +{ + disable_irq(IRQ_IXP2000_THDA0); + ixpdev_interrupt(IRQ_IXP2000_THDA0, dev, NULL); + enable_irq(IRQ_IXP2000_THDA0); +} +#endif + static int ixpdev_open(struct net_device *dev) { struct ixpdev_priv *ip = netdev_priv(dev); @@ -268,6 +277,9 @@ struct net_device *ixpdev_alloc(int channel, int sizeof_priv) dev->poll = ixpdev_poll; dev->open = ixpdev_open; dev->stop = ixpdev_close; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = ixpdev_poll_controller; +#endif dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM; dev->weight = 64; |