xilinx_emaclite: netpoll support
authorMichal Simek <monstr@monstr.eu>
Wed, 18 Aug 2010 01:22:49 +0000 (01:22 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Aug 2010 07:49:47 +0000 (00:49 -0700)
Netconsole requires poll support.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xilinx_emaclite.c

index ecbbb688eba08a1b337447a406284c5fd42d7fe2..71122ee4e8303ff15bc2e8580399e10ab3a35829 100644 (file)
@@ -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 */