ralink: support netconsole
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 19 Nov 2014 09:19:49 +0000 (09:19 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 19 Nov 2014 09:19:49 +0000 (09:19 +0000)
Signed-off-by: michael lee <igvtee@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43302 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c

index c62fb8f..55f01f1 100644 (file)
@@ -914,6 +914,18 @@ static irqreturn_t fe_handle_irq(int irq, void *dev)
        return IRQ_HANDLED;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void fe_poll_controller(struct net_device *dev)
+{
+       struct fe_priv *priv = netdev_priv(dev);
+       u32 dly_int = priv->soc->tx_dly_int | priv->soc->rx_dly_int;
+
+       fe_int_disable(dly_int);
+       fe_handle_irq(dev->irq, dev);
+       fe_int_enable(dly_int);
+}
+#endif
+
 int fe_set_clock_cycle(struct fe_priv *priv)
 {
        unsigned long sysclk = priv->sysclk;
@@ -1232,6 +1244,9 @@ static const struct net_device_ops fe_netdev_ops = {
        .ndo_get_stats64        = fe_get_stats64,
        .ndo_vlan_rx_add_vid    = fe_vlan_rx_add_vid,
        .ndo_vlan_rx_kill_vid   = fe_vlan_rx_kill_vid,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller    = fe_poll_controller,
+#endif
 };
 
 static int fe_probe(struct platform_device *pdev)