net/velocity: add poll controller function for velocity nic
authorAmit Uttamchandani <auttamchandani@logicube.com>
Fri, 19 Jul 2013 00:45:22 +0000 (17:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 20 Jul 2013 00:34:41 +0000 (17:34 -0700)
Add poll controller function for velocity nic.

Signed-off-by: Amit Uttamchandani <auttamchandani@logicube.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/via/via-velocity.c

index 1d6dc41f755dba00edfbc83d07c1d898c05020cf..ef776310fab1dbc2ff69130a783ae80bb9d1ac1f 100644 (file)
@@ -2376,6 +2376,23 @@ out_0:
        return ret;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+/**
+ *  velocity_poll_controller           -       Velocity Poll controller function
+ *  @dev: network device
+ *
+ *
+ *  Used by NETCONSOLE and other diagnostic tools to allow network I/P
+ *  with interrupts disabled.
+ */
+static void velocity_poll_controller(struct net_device *dev)
+{
+       disable_irq(dev->irq);
+       velocity_intr(dev->irq, dev);
+       enable_irq(dev->irq);
+}
+#endif
+
 /**
  *     velocity_mii_ioctl              -       MII ioctl handler
  *     @dev: network device
@@ -2641,6 +2658,9 @@ static const struct net_device_ops velocity_netdev_ops = {
        .ndo_do_ioctl           = velocity_ioctl,
        .ndo_vlan_rx_add_vid    = velocity_vlan_rx_add_vid,
        .ndo_vlan_rx_kill_vid   = velocity_vlan_rx_kill_vid,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller = velocity_poll_controller,
+#endif
 };
 
 /**