diff options
Diffstat (limited to 'drivers/net/arm')
-rw-r--r-- | drivers/net/arm/at91_ether.c | 14 |
1 files changed, 14 insertions, 0 deletions
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) | |||
923 | return IRQ_HANDLED; | 923 | return IRQ_HANDLED; |
924 | } | 924 | } |
925 | 925 | ||
926 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
927 | static void at91ether_poll_controller(struct net_device *dev) | ||
928 | { | ||
929 | unsigned long flags; | ||
930 | |||
931 | local_irq_save(flags); | ||
932 | at91ether_interrupt(dev->irq, dev); | ||
933 | local_irq_restore(flags); | ||
934 | } | ||
935 | #endif | ||
936 | |||
926 | /* | 937 | /* |
927 | * Initialize the ethernet interface | 938 | * Initialize the ethernet interface |
928 | */ | 939 | */ |
@@ -972,6 +983,9 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
972 | dev->set_mac_address = set_mac_address; | 983 | dev->set_mac_address = set_mac_address; |
973 | dev->ethtool_ops = &at91ether_ethtool_ops; | 984 | dev->ethtool_ops = &at91ether_ethtool_ops; |
974 | dev->do_ioctl = at91ether_ioctl; | 985 | dev->do_ioctl = at91ether_ioctl; |
986 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
987 | dev->poll_controller = at91ether_poll_controller; | ||
988 | #endif | ||
975 | 989 | ||
976 | SET_NETDEV_DEV(dev, &pdev->dev); | 990 | SET_NETDEV_DEV(dev, &pdev->dev); |
977 | 991 | ||