forked from luck/tmp_suning_uos_patched
switchdev: Complete removal of switchdev_port_attr_get()
We have no more in tree users of switchdev_port_attr_get() after
d0e698d57a
("Merge branch 'net-Get-rid-of-switchdev_port_attr_get'")
so completely remove the function signature and body.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75104db0cb
commit
72636db5ba
|
@ -115,13 +115,9 @@ typedef int switchdev_obj_dump_cb_t(struct switchdev_obj *obj);
|
||||||
/**
|
/**
|
||||||
* struct switchdev_ops - switchdev operations
|
* struct switchdev_ops - switchdev operations
|
||||||
*
|
*
|
||||||
* @switchdev_port_attr_get: Get a port attribute (see switchdev_attr).
|
|
||||||
*
|
|
||||||
* @switchdev_port_attr_set: Set a port attribute (see switchdev_attr).
|
* @switchdev_port_attr_set: Set a port attribute (see switchdev_attr).
|
||||||
*/
|
*/
|
||||||
struct switchdev_ops {
|
struct switchdev_ops {
|
||||||
int (*switchdev_port_attr_get)(struct net_device *dev,
|
|
||||||
struct switchdev_attr *attr);
|
|
||||||
int (*switchdev_port_attr_set)(struct net_device *dev,
|
int (*switchdev_port_attr_set)(struct net_device *dev,
|
||||||
const struct switchdev_attr *attr,
|
const struct switchdev_attr *attr,
|
||||||
struct switchdev_trans *trans);
|
struct switchdev_trans *trans);
|
||||||
|
|
|
@ -174,48 +174,6 @@ static int switchdev_deferred_enqueue(struct net_device *dev,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* switchdev_port_attr_get - Get port attribute
|
|
||||||
*
|
|
||||||
* @dev: port device
|
|
||||||
* @attr: attribute to get
|
|
||||||
*/
|
|
||||||
int switchdev_port_attr_get(struct net_device *dev, struct switchdev_attr *attr)
|
|
||||||
{
|
|
||||||
const struct switchdev_ops *ops = dev->switchdev_ops;
|
|
||||||
struct net_device *lower_dev;
|
|
||||||
struct list_head *iter;
|
|
||||||
struct switchdev_attr first = {
|
|
||||||
.id = SWITCHDEV_ATTR_ID_UNDEFINED
|
|
||||||
};
|
|
||||||
int err = -EOPNOTSUPP;
|
|
||||||
|
|
||||||
if (ops && ops->switchdev_port_attr_get)
|
|
||||||
return ops->switchdev_port_attr_get(dev, attr);
|
|
||||||
|
|
||||||
if (attr->flags & SWITCHDEV_F_NO_RECURSE)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
/* Switch device port(s) may be stacked under
|
|
||||||
* bond/team/vlan dev, so recurse down to get attr on
|
|
||||||
* each port. Return -ENODATA if attr values don't
|
|
||||||
* compare across ports.
|
|
||||||
*/
|
|
||||||
|
|
||||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
|
||||||
err = switchdev_port_attr_get(lower_dev, attr);
|
|
||||||
if (err)
|
|
||||||
break;
|
|
||||||
if (first.id == SWITCHDEV_ATTR_ID_UNDEFINED)
|
|
||||||
first = *attr;
|
|
||||||
else if (memcmp(&first, attr, sizeof(*attr)))
|
|
||||||
return -ENODATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(switchdev_port_attr_get);
|
|
||||||
|
|
||||||
static int __switchdev_port_attr_set(struct net_device *dev,
|
static int __switchdev_port_attr_set(struct net_device *dev,
|
||||||
const struct switchdev_attr *attr,
|
const struct switchdev_attr *attr,
|
||||||
struct switchdev_trans *trans)
|
struct switchdev_trans *trans)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user