mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 00:53:40 +00:00
sch_teql: convert to net_device_ops
Convert this driver to net_device_ops. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0a0b9d2edc
commit
61294e2e27
@ -289,9 +289,9 @@ restart:
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
struct net_device *slave = qdisc_dev(q);
|
struct net_device *slave = qdisc_dev(q);
|
||||||
struct netdev_queue *slave_txq;
|
struct netdev_queue *slave_txq = netdev_get_tx_queue(slave, 0);
|
||||||
|
const struct net_device_ops *slave_ops = slave->netdev_ops;
|
||||||
|
|
||||||
slave_txq = netdev_get_tx_queue(slave, 0);
|
|
||||||
if (slave_txq->qdisc_sleeping != q)
|
if (slave_txq->qdisc_sleeping != q)
|
||||||
continue;
|
continue;
|
||||||
if (__netif_subqueue_stopped(slave, subq) ||
|
if (__netif_subqueue_stopped(slave, subq) ||
|
||||||
@ -305,7 +305,7 @@ restart:
|
|||||||
if (__netif_tx_trylock(slave_txq)) {
|
if (__netif_tx_trylock(slave_txq)) {
|
||||||
if (!netif_tx_queue_stopped(slave_txq) &&
|
if (!netif_tx_queue_stopped(slave_txq) &&
|
||||||
!netif_tx_queue_frozen(slave_txq) &&
|
!netif_tx_queue_frozen(slave_txq) &&
|
||||||
slave->hard_start_xmit(skb, slave) == 0) {
|
slave_ops->ndo_start_xmit(skb, slave) == 0) {
|
||||||
__netif_tx_unlock(slave_txq);
|
__netif_tx_unlock(slave_txq);
|
||||||
master->slaves = NEXT_SLAVE(q);
|
master->slaves = NEXT_SLAVE(q);
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
@ -420,6 +420,14 @@ static int teql_master_mtu(struct net_device *dev, int new_mtu)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct net_device_ops teql_netdev_ops = {
|
||||||
|
.ndo_open = teql_master_open,
|
||||||
|
.ndo_stop = teql_master_close,
|
||||||
|
.ndo_start_xmit = teql_master_xmit,
|
||||||
|
.ndo_get_stats = teql_master_stats,
|
||||||
|
.ndo_change_mtu = teql_master_mtu,
|
||||||
|
};
|
||||||
|
|
||||||
static __init void teql_master_setup(struct net_device *dev)
|
static __init void teql_master_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct teql_master *master = netdev_priv(dev);
|
struct teql_master *master = netdev_priv(dev);
|
||||||
@ -436,11 +444,7 @@ static __init void teql_master_setup(struct net_device *dev)
|
|||||||
ops->destroy = teql_destroy;
|
ops->destroy = teql_destroy;
|
||||||
ops->owner = THIS_MODULE;
|
ops->owner = THIS_MODULE;
|
||||||
|
|
||||||
dev->open = teql_master_open;
|
dev->netdev_ops = &teql_netdev_ops;
|
||||||
dev->hard_start_xmit = teql_master_xmit;
|
|
||||||
dev->stop = teql_master_close;
|
|
||||||
dev->get_stats = teql_master_stats;
|
|
||||||
dev->change_mtu = teql_master_mtu;
|
|
||||||
dev->type = ARPHRD_VOID;
|
dev->type = ARPHRD_VOID;
|
||||||
dev->mtu = 1500;
|
dev->mtu = 1500;
|
||||||
dev->tx_queue_len = 100;
|
dev->tx_queue_len = 100;
|
||||||
|
Loading…
Reference in New Issue
Block a user