summaryrefslogtreecommitdiffstats
path: root/drivers/net/xilinx_emaclite.c
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2010-08-18 01:22:49 +0000
committerDavid S. Miller <davem@davemloft.net>2010-08-19 00:49:47 -0700
commit357e8b5f723ba9e1d0a0f8ffb1361d607e43e19a (patch)
treea519a2220557cfca4aa18d7b0c4a852eab03f59d /drivers/net/xilinx_emaclite.c
parent6f0bee16d0840c272229f2038a23a9a02dfc803d (diff)
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.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index ecbbb688eba..71122ee4e83 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 */