History

net: Get rid of switchdev_port_attr_get()

With the bridge no longer calling switchdev_port_attr_get() to obtain the supported bridge port flags from a driver but instead trying to set the bridge port flags directly and relying on driver to reject unsupported configurations, we can effectively get rid of switchdev_port_attr_get() entirely since this was the only place where it was called.

Florian Fainelli committed 7 years ago

Commit 010c8f01 parent cc0c2076 files · +1 −37Browse files

Unified · Split

6 files
  1. Documentation/networking/switchdev.txt +1 −1
  2. drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +0 −7
  3. drivers/net/ethernet/rocker/rocker_main.c +0 −7
  4. drivers/staging/fsl-dpaa2/ethsw/ethsw.c +0 −7
  5. include/net/switchdev.h +0 −8
  6. net/dsa/slave.c +0 −7
Documentation/networking/switchdev.txt+1−1
@@ -233,7 +233,7 @@ the bridge's FDB. It's possible, but not optimal, to enable learning on the · 232 unmodified lines
233device port and on the bridge port, and disable learning_sync.233device port and on the bridge port, and disable learning_sync.
234 234
235To support learning, the driver implements switchdev op235To support learning, the driver implements switchdev op
236switchdev_port_attr_get/set for SWITCHDEV_ATTR_PORT_ID_BRIDGE_FLAGS.236switchdev_port_attr_set for SWITCHDEV_ATTR_PORT_ID_{PRE}_BRIDGE_FLAGS.
237 237
238FDB Ageing238FDB Ageing
239^^^^^^^^^^239^^^^^^^^^^
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c+0−7
@@ -431,12 +431,6 @@ static void mlxsw_sp_bridge_vlan_put(struct mlxsw_sp_bridge_vlan *bridge_vlan) · 430 unmodified lines
431 mlxsw_sp_bridge_vlan_destroy(bridge_vlan);431 mlxsw_sp_bridge_vlan_destroy(bridge_vlan);
432}432}
433 433
434static int mlxsw_sp_port_attr_get(struct net_device *dev,
435 struct switchdev_attr *attr)
436{
437 return -EOPNOTSUPP;
438}
439
440static int434static int
441mlxsw_sp_port_bridge_vlan_stp_set(struct mlxsw_sp_port *mlxsw_sp_port,435mlxsw_sp_port_bridge_vlan_stp_set(struct mlxsw_sp_port *mlxsw_sp_port,
442 struct mlxsw_sp_bridge_vlan *bridge_vlan,436 struct mlxsw_sp_bridge_vlan *bridge_vlan,
@@ -1945,7 +1939,6 @@ static struct mlxsw_sp_port *mlxsw_sp_lag_rep_port(struct mlxsw_sp *mlxsw_sp, · 1502 unmodified lines
1945}1939}
1946 1940
1947static const struct switchdev_ops mlxsw_sp_port_switchdev_ops = {1941static const struct switchdev_ops mlxsw_sp_port_switchdev_ops = {
1948 .switchdev_port_attr_get = mlxsw_sp_port_attr_get,
1949 .switchdev_port_attr_set = mlxsw_sp_port_attr_set,1942 .switchdev_port_attr_set = mlxsw_sp_port_attr_set,
1950};1943};
1951 1944
drivers/net/ethernet/rocker/rocker_main.c+0−7
@@ -2066,12 +2066,6 @@ static const struct net_device_ops rocker_port_netdev_ops = { · 2065 unmodified lines
2066 * swdev interface2066 * swdev interface
2067 ********************/2067 ********************/
2068 2068
2069static int rocker_port_attr_get(struct net_device *dev,
2070 struct switchdev_attr *attr)
2071{
2072 return -EOPNOTSUPP;
2073}
2074
2075static int rocker_port_attr_set(struct net_device *dev,2069static int rocker_port_attr_set(struct net_device *dev,
2076 const struct switchdev_attr *attr,2070 const struct switchdev_attr *attr,
2077 struct switchdev_trans *trans)2071 struct switchdev_trans *trans)
@@ -2148,7 +2142,6 @@ static int rocker_port_obj_del(struct net_device *dev, · 70 unmodified lines
2148}2142}
2149 2143
2150static const struct switchdev_ops rocker_port_switchdev_ops = {2144static const struct switchdev_ops rocker_port_switchdev_ops = {
2151 .switchdev_port_attr_get = rocker_port_attr_get,
2152 .switchdev_port_attr_set = rocker_port_attr_set,2145 .switchdev_port_attr_set = rocker_port_attr_set,
2153};2146};
2154 2147
drivers/staging/fsl-dpaa2/ethsw/ethsw.c+0−7
@@ -640,12 +640,6 @@ static void ethsw_teardown_irqs(struct fsl_mc_device *sw_dev) · 639 unmodified lines
640 fsl_mc_free_irqs(sw_dev);640 fsl_mc_free_irqs(sw_dev);
641}641}
642 642
643static int swdev_port_attr_get(struct net_device *netdev,
644 struct switchdev_attr *attr)
645{
646 return -EOPNOTSUPP;
647}
648
649static int port_attr_stp_state_set(struct net_device *netdev,643static int port_attr_stp_state_set(struct net_device *netdev,
650 struct switchdev_trans *trans,644 struct switchdev_trans *trans,
651 u8 state)645 u8 state)
@@ -932,7 +926,6 @@ static int swdev_port_obj_del(struct net_device *netdev, · 280 unmodified lines
932}926}
933 927
934static const struct switchdev_ops ethsw_port_switchdev_ops = {928static const struct switchdev_ops ethsw_port_switchdev_ops = {
935 .switchdev_port_attr_get = swdev_port_attr_get,
936 .switchdev_port_attr_set = swdev_port_attr_set,929 .switchdev_port_attr_set = swdev_port_attr_set,
937};930};
938 931
include/net/switchdev.h+0−8
@@ -179,8 +179,6 @@ switchdev_notifier_info_to_extack(const struct switchdev_notifier_info *info) · 178 unmodified lines
179#ifdef CONFIG_NET_SWITCHDEV179#ifdef CONFIG_NET_SWITCHDEV
180 180
181void switchdev_deferred_process(void);181void switchdev_deferred_process(void);
182int switchdev_port_attr_get(struct net_device *dev,
183 struct switchdev_attr *attr);
184int switchdev_port_attr_set(struct net_device *dev,182int switchdev_port_attr_set(struct net_device *dev,
185 const struct switchdev_attr *attr);183 const struct switchdev_attr *attr);
186int switchdev_port_obj_add(struct net_device *dev,184int switchdev_port_obj_add(struct net_device *dev,
@@ -225,12 +223,6 @@ static inline void switchdev_deferred_process(void) · 38 unmodified lines
225{223{
226}224}
227 225
228static inline int switchdev_port_attr_get(struct net_device *dev,
229 struct switchdev_attr *attr)
230{
231 return -EOPNOTSUPP;
232}
233
234static inline int switchdev_port_attr_set(struct net_device *dev,226static inline int switchdev_port_attr_set(struct net_device *dev,
235 const struct switchdev_attr *attr)227 const struct switchdev_attr *attr)
236{228{
net/dsa/slave.c+0−7
@@ -385,12 +385,6 @@ static int dsa_slave_get_port_parent_id(struct net_device *dev, · 384 unmodified lines
385 return 0;385 return 0;
386}386}
387 387
388static int dsa_slave_port_attr_get(struct net_device *dev,
389 struct switchdev_attr *attr)
390{
391 return -EOPNOTSUPP;
392}
393
394static inline netdev_tx_t dsa_slave_netpoll_send_skb(struct net_device *dev,388static inline netdev_tx_t dsa_slave_netpoll_send_skb(struct net_device *dev,
395 struct sk_buff *skb)389 struct sk_buff *skb)
396{390{
@@ -1057,7 +1051,6 @@ static const struct net_device_ops dsa_slave_netdev_ops = { · 660 unmodified lines
1057};1051};
1058 1052
1059static const struct switchdev_ops dsa_slave_switchdev_ops = {1053static const struct switchdev_ops dsa_slave_switchdev_ops = {
1060 .switchdev_port_attr_get = dsa_slave_port_attr_get,
1061 .switchdev_port_attr_set = dsa_slave_port_attr_set,1054 .switchdev_port_attr_set = dsa_slave_port_attr_set,
1062};1055};
1063 1056