Patchwork [1/1] net/velocity: add poll controller function for velocity nic

login
register
mail settings
Submitter Amit Uttamchandani
Date July 19, 2013, 12:45 a.m.
Message ID <1374194722-6051-1-git-send-email-auttamchandani@logicube.com>
Download mbox | patch
Permalink /patch/260170/
State Accepted
Delegated to: David Miller
Headers show

Comments

Amit Uttamchandani - July 19, 2013, 12:45 a.m.
Add poll controller function for velocity nic.

Signed-off-by: Amit Uttamchandani <auttamchandani@logicube.com>
---
 drivers/net/ethernet/via/via-velocity.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
fran├žois romieu - July 19, 2013, 6:11 a.m.
Amit Uttamchandani <auttamchandani@logicube.com> :
> Add poll controller function for velocity nic.

Thanks.

You did not state if it was tested. Was it ?
Amit Uttamchandani - July 19, 2013, 6:21 a.m.
On Fri, Jul 19, 2013 at 08:11:07AM +0200, Francois Romieu wrote:
> Amit Uttamchandani <auttamchandani@logicube.com> :
> > Add poll controller function for velocity nic.
> 
> Thanks.
> 
> You did not state if it was tested. Was it ?
> 

Yes, tested with latest upstream kernel and latest -stable 3.2.y (3.2.48).

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - July 20, 2013, 12:35 a.m.
From: Amit Uttamchandani <auttamchandani@logicube.com>
Date: Thu, 18 Jul 2013 17:45:22 -0700

> Add poll controller function for velocity nic.
> 
> Signed-off-by: Amit Uttamchandani <auttamchandani@logicube.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c
index 1d6dc41..ef77631 100644
--- a/drivers/net/ethernet/via/via-velocity.c
+++ b/drivers/net/ethernet/via/via-velocity.c
@@ -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
 };
 
 /**