From 51cc21045714cc9f48eb6901d95eb4e552ef2ca4 Mon Sep 17 00:00:00 2001 From: Andrew Victor Date: Tue, 5 Dec 2006 15:33:05 +0200 Subject: [PATCH] [PATCH] AT91RM9200 Ethernet: Add netpoll / netconsole support Adds netpoll / netconsole support. Original patch from Bill Gatliff. Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik --- drivers/net/arm/at91_ether.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 918368cdb766..f33d957adc7a 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c @@ -923,6 +923,17 @@ static irqreturn_t at91ether_interrupt(int irq, void *dev_id) return IRQ_HANDLED; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void at91ether_poll_controller(struct net_device *dev) +{ + unsigned long flags; + + local_irq_save(flags); + at91ether_interrupt(dev->irq, dev); + local_irq_restore(flags); +} +#endif + /* * Initialize the ethernet interface */ @@ -972,6 +983,9 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add dev->set_mac_address = set_mac_address; dev->ethtool_ops = &at91ether_ethtool_ops; dev->do_ioctl = at91ether_ioctl; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = at91ether_poll_controller; +#endif SET_NETDEV_DEV(dev, &pdev->dev);