Skip to content

Commit 7026b8a

Browse files
ffainellidavem330
authored andcommitted
rocker: Implement ndo_get_port_parent_id()
mlxsw implements SWITCHDEV_ATTR_ID_PORT_PARENT_ID and we want to get rid of switchdev_ops eventually, ease that migration by implementing a ndo_get_port_parent_id() function which returns what switchdev_port_attr_get() would do. Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent a5084bb commit 7026b8a

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

drivers/net/ethernet/rocker/rocker_main.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2026,6 +2026,18 @@ static void rocker_port_neigh_destroy(struct net_device *dev,
20262026
err);
20272027
}
20282028

2029+
static int rocker_port_get_port_parent_id(struct net_device *dev,
2030+
struct netdev_phys_item_id *ppid)
2031+
{
2032+
const struct rocker_port *rocker_port = netdev_priv(dev);
2033+
const struct rocker *rocker = rocker_port->rocker;
2034+
2035+
ppid->id_len = sizeof(rocker->hw.id);
2036+
memcpy(&ppid->id, &rocker->hw.id, ppid->id_len);
2037+
2038+
return 0;
2039+
}
2040+
20292041
static const struct net_device_ops rocker_port_netdev_ops = {
20302042
.ndo_open = rocker_port_open,
20312043
.ndo_stop = rocker_port_stop,
@@ -2035,6 +2047,7 @@ static const struct net_device_ops rocker_port_netdev_ops = {
20352047
.ndo_get_phys_port_name = rocker_port_get_phys_port_name,
20362048
.ndo_change_proto_down = rocker_port_change_proto_down,
20372049
.ndo_neigh_destroy = rocker_port_neigh_destroy,
2050+
.ndo_get_port_parent_id = rocker_port_get_port_parent_id,
20382051
};
20392052

20402053
/********************
@@ -2045,14 +2058,9 @@ static int rocker_port_attr_get(struct net_device *dev,
20452058
struct switchdev_attr *attr)
20462059
{
20472060
const struct rocker_port *rocker_port = netdev_priv(dev);
2048-
const struct rocker *rocker = rocker_port->rocker;
20492061
int err = 0;
20502062

20512063
switch (attr->id) {
2052-
case SWITCHDEV_ATTR_ID_PORT_PARENT_ID:
2053-
attr->u.ppid.id_len = sizeof(rocker->hw.id);
2054-
memcpy(&attr->u.ppid.id, &rocker->hw.id, attr->u.ppid.id_len);
2055-
break;
20562064
case SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS:
20572065
err = rocker_world_port_attr_bridge_flags_get(rocker_port,
20582066
&attr->u.brport_flags);

0 commit comments

Comments
 (0)