diff options
author | Michal Simek <monstr@monstr.eu> | 2010-08-18 05:22:49 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-19 11:49:47 +0400 |
commit | 357e8b5f723ba9e1d0a0f8ffb1361d607e43e19a (patch) | |
tree | a519a2220557cfca4aa18d7b0c4a852eab03f59d /drivers/net/xilinx_emaclite.c | |
parent | 6f0bee16d0840c272229f2038a23a9a02dfc803d (diff) | |
download | linux-357e8b5f723ba9e1d0a0f8ffb1361d607e43e19a.tar.xz |
xilinx_emaclite: netpoll support
Netconsole requires poll support.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/xilinx_emaclite.c')
-rw-r--r-- | drivers/net/xilinx_emaclite.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index ecbbb688eba0..71122ee4e830 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -1269,6 +1269,16 @@ static int __devexit xemaclite_of_remove(struct platform_device *of_dev) return 0; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void +xemaclite_poll_controller(struct net_device *ndev) +{ + disable_irq(ndev->irq); + xemaclite_interrupt(ndev->irq, ndev); + enable_irq(ndev->irq); +} +#endif + static struct net_device_ops xemaclite_netdev_ops = { .ndo_open = xemaclite_open, .ndo_stop = xemaclite_close, @@ -1276,6 +1286,9 @@ static struct net_device_ops xemaclite_netdev_ops = { .ndo_set_mac_address = xemaclite_set_mac_address, .ndo_tx_timeout = xemaclite_tx_timeout, .ndo_get_stats = xemaclite_get_stats, +#ifdef CONFIG_NET_POLL_CONTROLLER + .ndo_poll_controller = xemaclite_poll_controller, +#endif }; /* Match table for OF platform binding */ |