net/fec: add poll controller function for fec nic
Add poll controller function for fec nic. Signed-off-by: Xiao Jiang <jgq516@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c7c83d1c95
commit
7f5c6addcd
|
@ -242,6 +242,7 @@ struct fec_enet_private {
|
||||||
int link;
|
int link;
|
||||||
int full_duplex;
|
int full_duplex;
|
||||||
struct completion mdio_done;
|
struct completion mdio_done;
|
||||||
|
int irq[FEC_IRQ_NUM];
|
||||||
};
|
};
|
||||||
|
|
||||||
/* FEC MII MMFR bits definition */
|
/* FEC MII MMFR bits definition */
|
||||||
|
@ -1363,6 +1364,29 @@ fec_set_mac_address(struct net_device *ndev, void *p)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||||
|
/*
|
||||||
|
* fec_poll_controller: FEC Poll controller function
|
||||||
|
* @dev: The FEC network adapter
|
||||||
|
*
|
||||||
|
* Polled functionality used by netconsole and others in non interrupt mode
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void fec_poll_controller(struct net_device *dev)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
struct fec_enet_private *fep = netdev_priv(dev);
|
||||||
|
|
||||||
|
for (i = 0; i < FEC_IRQ_NUM; i++) {
|
||||||
|
if (fep->irq[i] > 0) {
|
||||||
|
disable_irq(fep->irq[i]);
|
||||||
|
fec_enet_interrupt(fep->irq[i], dev);
|
||||||
|
enable_irq(fep->irq[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static const struct net_device_ops fec_netdev_ops = {
|
static const struct net_device_ops fec_netdev_ops = {
|
||||||
.ndo_open = fec_enet_open,
|
.ndo_open = fec_enet_open,
|
||||||
.ndo_stop = fec_enet_close,
|
.ndo_stop = fec_enet_close,
|
||||||
|
@ -1373,6 +1397,9 @@ static const struct net_device_ops fec_netdev_ops = {
|
||||||
.ndo_tx_timeout = fec_timeout,
|
.ndo_tx_timeout = fec_timeout,
|
||||||
.ndo_set_mac_address = fec_set_mac_address,
|
.ndo_set_mac_address = fec_set_mac_address,
|
||||||
.ndo_do_ioctl = fec_enet_ioctl,
|
.ndo_do_ioctl = fec_enet_ioctl,
|
||||||
|
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||||
|
.ndo_poll_controller = fec_poll_controller,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue