mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-24 05:42:49 +02:00
ar71xx: ag71xx: Add netpoll support
This patch adds support for polling interrupts, used by netconsole and the likes. Tested on d-link dir-615 C1 using netconsole. Signed-off-by: Pat Erley <pat-lkml@erley.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20503 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
473f46f9cf
commit
afa983c991
@ -926,6 +926,20 @@ static void ag71xx_set_multicast_list(struct net_device *dev)
|
|||||||
/* TODO */
|
/* TODO */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||||
|
/*
|
||||||
|
* Polling 'interrupt' - used by things like netconsole to send skbs
|
||||||
|
* without having to re-enable interrupts. It's not called while
|
||||||
|
* the interrupt routine is executing.
|
||||||
|
*/
|
||||||
|
static void ag71xx_netpoll(struct net_device *dev)
|
||||||
|
{
|
||||||
|
disable_irq(dev->irq);
|
||||||
|
ag71xx_interrupt(dev->irq, dev);
|
||||||
|
enable_irq(dev->irq);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static const struct net_device_ops ag71xx_netdev_ops = {
|
static const struct net_device_ops ag71xx_netdev_ops = {
|
||||||
.ndo_open = ag71xx_open,
|
.ndo_open = ag71xx_open,
|
||||||
.ndo_stop = ag71xx_stop,
|
.ndo_stop = ag71xx_stop,
|
||||||
@ -936,6 +950,9 @@ static const struct net_device_ops ag71xx_netdev_ops = {
|
|||||||
.ndo_change_mtu = eth_change_mtu,
|
.ndo_change_mtu = eth_change_mtu,
|
||||||
.ndo_set_mac_address = eth_mac_addr,
|
.ndo_set_mac_address = eth_mac_addr,
|
||||||
.ndo_validate_addr = eth_validate_addr,
|
.ndo_validate_addr = eth_validate_addr,
|
||||||
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||||
|
.ndo_poll_controller = ag71xx_netpoll,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init ag71xx_probe(struct platform_device *pdev)
|
static int __init ag71xx_probe(struct platform_device *pdev)
|
||||||
|
Loading…
Reference in New Issue
Block a user