Loading MAINTAINERS +0 −1 Original line number Original line Diff line number Diff line Loading @@ -13056,7 +13056,6 @@ F: include/linux/dsa/ F: include/linux/platform_data/dsa.h F: include/linux/platform_data/dsa.h F: include/net/dsa.h F: include/net/dsa.h F: net/dsa/ F: net/dsa/ F: tools/testing/selftests/drivers/net/dsa/ NETWORKING [GENERAL] NETWORKING [GENERAL] M: "David S. Miller" <davem@davemloft.net> M: "David S. Miller" <davem@davemloft.net> Loading drivers/net/dsa/b53/b53_common.c +6 −34 Original line number Original line Diff line number Diff line Loading @@ -1544,7 +1544,6 @@ EXPORT_SYMBOL(b53_vlan_del); /* Address Resolution Logic routines */ /* Address Resolution Logic routines */ static int b53_arl_op_wait(struct b53_device *dev) static int b53_arl_op_wait(struct b53_device *dev) __must_hold(&dev->arl_mutex) { { unsigned int timeout = 10; unsigned int timeout = 10; u8 reg; u8 reg; Loading @@ -1563,7 +1562,6 @@ static int b53_arl_op_wait(struct b53_device *dev) } } static int b53_arl_rw_op(struct b53_device *dev, unsigned int op) static int b53_arl_rw_op(struct b53_device *dev, unsigned int op) __must_hold(&dev->arl_mutex) { { u8 reg; u8 reg; Loading @@ -1587,7 +1585,6 @@ static int b53_arl_rw_op(struct b53_device *dev, unsigned int op) static int b53_arl_read(struct b53_device *dev, u64 mac, static int b53_arl_read(struct b53_device *dev, u64 mac, u16 vid, struct b53_arl_entry *ent, u8 *idx) u16 vid, struct b53_arl_entry *ent, u8 *idx) __must_hold(&dev->arl_mutex) { { DECLARE_BITMAP(free_bins, B53_ARLTBL_MAX_BIN_ENTRIES); DECLARE_BITMAP(free_bins, B53_ARLTBL_MAX_BIN_ENTRIES); unsigned int i; unsigned int i; Loading Loading @@ -1633,7 +1630,6 @@ static int b53_arl_read(struct b53_device *dev, u64 mac, static int b53_arl_op(struct b53_device *dev, int op, int port, static int b53_arl_op(struct b53_device *dev, int op, int port, const unsigned char *addr, u16 vid, bool is_valid) const unsigned char *addr, u16 vid, bool is_valid) __must_hold(&dev->arl_mutex) { { struct b53_arl_entry ent; struct b53_arl_entry ent; u32 fwd_entry; u32 fwd_entry; Loading Loading @@ -1711,7 +1707,6 @@ int b53_fdb_add(struct dsa_switch *ds, int port, const unsigned char *addr, u16 vid) const unsigned char *addr, u16 vid) { { struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; /* 5325 and 5365 require some more massaging, but could /* 5325 and 5365 require some more massaging, but could * be supported eventually * be supported eventually Loading @@ -1719,11 +1714,7 @@ int b53_fdb_add(struct dsa_switch *ds, int port, if (is5325(priv) || is5365(priv)) if (is5325(priv) || is5365(priv)) return -EOPNOTSUPP; return -EOPNOTSUPP; mutex_lock(&priv->arl_mutex); return b53_arl_op(priv, 0, port, addr, vid, true); ret = b53_arl_op(priv, 0, port, addr, vid, true); mutex_unlock(&priv->arl_mutex); return ret; } } EXPORT_SYMBOL(b53_fdb_add); EXPORT_SYMBOL(b53_fdb_add); Loading @@ -1731,18 +1722,12 @@ int b53_fdb_del(struct dsa_switch *ds, int port, const unsigned char *addr, u16 vid) const unsigned char *addr, u16 vid) { { struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; mutex_lock(&priv->arl_mutex); ret = b53_arl_op(priv, 0, port, addr, vid, false); mutex_unlock(&priv->arl_mutex); return ret; return b53_arl_op(priv, 0, port, addr, vid, false); } } EXPORT_SYMBOL(b53_fdb_del); EXPORT_SYMBOL(b53_fdb_del); static int b53_arl_search_wait(struct b53_device *dev) static int b53_arl_search_wait(struct b53_device *dev) __must_hold(&dev->arl_mutex) { { unsigned int timeout = 1000; unsigned int timeout = 1000; u8 reg; u8 reg; Loading @@ -1763,7 +1748,6 @@ static int b53_arl_search_wait(struct b53_device *dev) static void b53_arl_search_rd(struct b53_device *dev, u8 idx, static void b53_arl_search_rd(struct b53_device *dev, u8 idx, struct b53_arl_entry *ent) struct b53_arl_entry *ent) __must_hold(&dev->arl_mutex) { { u64 mac_vid; u64 mac_vid; u32 fwd_entry; u32 fwd_entry; Loading Loading @@ -1796,8 +1780,6 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, int ret; int ret; u8 reg; u8 reg; mutex_lock(&priv->arl_mutex); /* Start search operation */ /* Start search operation */ reg = ARL_SRCH_STDN; reg = ARL_SRCH_STDN; b53_write8(priv, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, reg); b53_write8(priv, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, reg); Loading @@ -1805,18 +1787,18 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, do { do { ret = b53_arl_search_wait(priv); ret = b53_arl_search_wait(priv); if (ret) if (ret) break; return ret; b53_arl_search_rd(priv, 0, &results[0]); b53_arl_search_rd(priv, 0, &results[0]); ret = b53_fdb_copy(port, &results[0], cb, data); ret = b53_fdb_copy(port, &results[0], cb, data); if (ret) if (ret) break; return ret; if (priv->num_arl_bins > 2) { if (priv->num_arl_bins > 2) { b53_arl_search_rd(priv, 1, &results[1]); b53_arl_search_rd(priv, 1, &results[1]); ret = b53_fdb_copy(port, &results[1], cb, data); ret = b53_fdb_copy(port, &results[1], cb, data); if (ret) if (ret) break; return ret; if (!results[0].is_valid && !results[1].is_valid) if (!results[0].is_valid && !results[1].is_valid) break; break; Loading @@ -1824,8 +1806,6 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, } while (count++ < b53_max_arl_entries(priv) / 2); } while (count++ < b53_max_arl_entries(priv) / 2); mutex_unlock(&priv->arl_mutex); return 0; return 0; } } EXPORT_SYMBOL(b53_fdb_dump); EXPORT_SYMBOL(b53_fdb_dump); Loading @@ -1834,7 +1814,6 @@ int b53_mdb_add(struct dsa_switch *ds, int port, const struct switchdev_obj_port_mdb *mdb) const struct switchdev_obj_port_mdb *mdb) { { struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; /* 5325 and 5365 require some more massaging, but could /* 5325 and 5365 require some more massaging, but could * be supported eventually * be supported eventually Loading @@ -1842,11 +1821,7 @@ int b53_mdb_add(struct dsa_switch *ds, int port, if (is5325(priv) || is5365(priv)) if (is5325(priv) || is5365(priv)) return -EOPNOTSUPP; return -EOPNOTSUPP; mutex_lock(&priv->arl_mutex); return b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, true); ret = b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, true); mutex_unlock(&priv->arl_mutex); return ret; } } EXPORT_SYMBOL(b53_mdb_add); EXPORT_SYMBOL(b53_mdb_add); Loading @@ -1856,9 +1831,7 @@ int b53_mdb_del(struct dsa_switch *ds, int port, struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; int ret; mutex_lock(&priv->arl_mutex); ret = b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, false); ret = b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, false); mutex_unlock(&priv->arl_mutex); if (ret) if (ret) dev_err(ds->dev, "failed to delete MDB entry\n"); dev_err(ds->dev, "failed to delete MDB entry\n"); Loading Loading @@ -2695,7 +2668,6 @@ struct b53_device *b53_switch_alloc(struct device *base, mutex_init(&dev->reg_mutex); mutex_init(&dev->reg_mutex); mutex_init(&dev->stats_mutex); mutex_init(&dev->stats_mutex); mutex_init(&dev->arl_mutex); return dev; return dev; } } Loading drivers/net/dsa/b53/b53_priv.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -107,7 +107,6 @@ struct b53_device { struct mutex reg_mutex; struct mutex reg_mutex; struct mutex stats_mutex; struct mutex stats_mutex; struct mutex arl_mutex; const struct b53_io_ops *ops; const struct b53_io_ops *ops; /* chip specific data */ /* chip specific data */ Loading drivers/net/dsa/lantiq_gswip.c +5 −23 Original line number Original line Diff line number Diff line Loading @@ -276,7 +276,6 @@ struct gswip_priv { int num_gphy_fw; int num_gphy_fw; struct gswip_gphy_fw *gphy_fw; struct gswip_gphy_fw *gphy_fw; u32 port_vlan_filter; u32 port_vlan_filter; struct mutex pce_table_lock; }; }; struct gswip_pce_table_entry { struct gswip_pce_table_entry { Loading Loading @@ -524,14 +523,10 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv, u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSRD : u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSRD : GSWIP_PCE_TBL_CTRL_OPMOD_ADRD; GSWIP_PCE_TBL_CTRL_OPMOD_ADRD; mutex_lock(&priv->pce_table_lock); err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); if (err) { if (err) mutex_unlock(&priv->pce_table_lock); return err; return err; } gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | Loading @@ -541,10 +536,8 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); if (err) { if (err) mutex_unlock(&priv->pce_table_lock); return err; return err; } for (i = 0; i < ARRAY_SIZE(tbl->key); i++) for (i = 0; i < ARRAY_SIZE(tbl->key); i++) tbl->key[i] = gswip_switch_r(priv, GSWIP_PCE_TBL_KEY(i)); tbl->key[i] = gswip_switch_r(priv, GSWIP_PCE_TBL_KEY(i)); Loading @@ -560,8 +553,6 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv, tbl->valid = !!(crtl & GSWIP_PCE_TBL_CTRL_VLD); tbl->valid = !!(crtl & GSWIP_PCE_TBL_CTRL_VLD); tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7; tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7; mutex_unlock(&priv->pce_table_lock); return 0; return 0; } } Loading @@ -574,14 +565,10 @@ static int gswip_pce_table_entry_write(struct gswip_priv *priv, u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSWR : u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSWR : GSWIP_PCE_TBL_CTRL_OPMOD_ADWR; GSWIP_PCE_TBL_CTRL_OPMOD_ADWR; mutex_lock(&priv->pce_table_lock); err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); if (err) { if (err) mutex_unlock(&priv->pce_table_lock); return err; return err; } gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | Loading Loading @@ -613,12 +600,8 @@ static int gswip_pce_table_entry_write(struct gswip_priv *priv, crtl |= GSWIP_PCE_TBL_CTRL_BAS; crtl |= GSWIP_PCE_TBL_CTRL_BAS; gswip_switch_w(priv, crtl, GSWIP_PCE_TBL_CTRL); gswip_switch_w(priv, crtl, GSWIP_PCE_TBL_CTRL); err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, return gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); mutex_unlock(&priv->pce_table_lock); return err; } } /* Add the LAN port into a bridge with the CPU port by /* Add the LAN port into a bridge with the CPU port by Loading Loading @@ -2121,7 +2104,6 @@ static int gswip_probe(struct platform_device *pdev) priv->ds->priv = priv; priv->ds->priv = priv; priv->ds->ops = priv->hw_info->ops; priv->ds->ops = priv->hw_info->ops; priv->dev = dev; priv->dev = dev; mutex_init(&priv->pce_table_lock); version = gswip_switch_r(priv, GSWIP_VERSION); version = gswip_switch_r(priv, GSWIP_VERSION); np = dev->of_node; np = dev->of_node; Loading drivers/net/dsa/sja1105/sja1105.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -261,8 +261,6 @@ struct sja1105_private { * the switch doesn't confuse them with one another. * the switch doesn't confuse them with one another. */ */ struct mutex mgmt_lock; struct mutex mgmt_lock; /* Serializes access to the dynamic config interface */ struct mutex dynamic_config_lock; struct devlink_region **regions; struct devlink_region **regions; struct sja1105_cbs_entry *cbs; struct sja1105_cbs_entry *cbs; struct mii_bus *mdio_base_t1; struct mii_bus *mdio_base_t1; Loading Loading
MAINTAINERS +0 −1 Original line number Original line Diff line number Diff line Loading @@ -13056,7 +13056,6 @@ F: include/linux/dsa/ F: include/linux/platform_data/dsa.h F: include/linux/platform_data/dsa.h F: include/net/dsa.h F: include/net/dsa.h F: net/dsa/ F: net/dsa/ F: tools/testing/selftests/drivers/net/dsa/ NETWORKING [GENERAL] NETWORKING [GENERAL] M: "David S. Miller" <davem@davemloft.net> M: "David S. Miller" <davem@davemloft.net> Loading
drivers/net/dsa/b53/b53_common.c +6 −34 Original line number Original line Diff line number Diff line Loading @@ -1544,7 +1544,6 @@ EXPORT_SYMBOL(b53_vlan_del); /* Address Resolution Logic routines */ /* Address Resolution Logic routines */ static int b53_arl_op_wait(struct b53_device *dev) static int b53_arl_op_wait(struct b53_device *dev) __must_hold(&dev->arl_mutex) { { unsigned int timeout = 10; unsigned int timeout = 10; u8 reg; u8 reg; Loading @@ -1563,7 +1562,6 @@ static int b53_arl_op_wait(struct b53_device *dev) } } static int b53_arl_rw_op(struct b53_device *dev, unsigned int op) static int b53_arl_rw_op(struct b53_device *dev, unsigned int op) __must_hold(&dev->arl_mutex) { { u8 reg; u8 reg; Loading @@ -1587,7 +1585,6 @@ static int b53_arl_rw_op(struct b53_device *dev, unsigned int op) static int b53_arl_read(struct b53_device *dev, u64 mac, static int b53_arl_read(struct b53_device *dev, u64 mac, u16 vid, struct b53_arl_entry *ent, u8 *idx) u16 vid, struct b53_arl_entry *ent, u8 *idx) __must_hold(&dev->arl_mutex) { { DECLARE_BITMAP(free_bins, B53_ARLTBL_MAX_BIN_ENTRIES); DECLARE_BITMAP(free_bins, B53_ARLTBL_MAX_BIN_ENTRIES); unsigned int i; unsigned int i; Loading Loading @@ -1633,7 +1630,6 @@ static int b53_arl_read(struct b53_device *dev, u64 mac, static int b53_arl_op(struct b53_device *dev, int op, int port, static int b53_arl_op(struct b53_device *dev, int op, int port, const unsigned char *addr, u16 vid, bool is_valid) const unsigned char *addr, u16 vid, bool is_valid) __must_hold(&dev->arl_mutex) { { struct b53_arl_entry ent; struct b53_arl_entry ent; u32 fwd_entry; u32 fwd_entry; Loading Loading @@ -1711,7 +1707,6 @@ int b53_fdb_add(struct dsa_switch *ds, int port, const unsigned char *addr, u16 vid) const unsigned char *addr, u16 vid) { { struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; /* 5325 and 5365 require some more massaging, but could /* 5325 and 5365 require some more massaging, but could * be supported eventually * be supported eventually Loading @@ -1719,11 +1714,7 @@ int b53_fdb_add(struct dsa_switch *ds, int port, if (is5325(priv) || is5365(priv)) if (is5325(priv) || is5365(priv)) return -EOPNOTSUPP; return -EOPNOTSUPP; mutex_lock(&priv->arl_mutex); return b53_arl_op(priv, 0, port, addr, vid, true); ret = b53_arl_op(priv, 0, port, addr, vid, true); mutex_unlock(&priv->arl_mutex); return ret; } } EXPORT_SYMBOL(b53_fdb_add); EXPORT_SYMBOL(b53_fdb_add); Loading @@ -1731,18 +1722,12 @@ int b53_fdb_del(struct dsa_switch *ds, int port, const unsigned char *addr, u16 vid) const unsigned char *addr, u16 vid) { { struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; mutex_lock(&priv->arl_mutex); ret = b53_arl_op(priv, 0, port, addr, vid, false); mutex_unlock(&priv->arl_mutex); return ret; return b53_arl_op(priv, 0, port, addr, vid, false); } } EXPORT_SYMBOL(b53_fdb_del); EXPORT_SYMBOL(b53_fdb_del); static int b53_arl_search_wait(struct b53_device *dev) static int b53_arl_search_wait(struct b53_device *dev) __must_hold(&dev->arl_mutex) { { unsigned int timeout = 1000; unsigned int timeout = 1000; u8 reg; u8 reg; Loading @@ -1763,7 +1748,6 @@ static int b53_arl_search_wait(struct b53_device *dev) static void b53_arl_search_rd(struct b53_device *dev, u8 idx, static void b53_arl_search_rd(struct b53_device *dev, u8 idx, struct b53_arl_entry *ent) struct b53_arl_entry *ent) __must_hold(&dev->arl_mutex) { { u64 mac_vid; u64 mac_vid; u32 fwd_entry; u32 fwd_entry; Loading Loading @@ -1796,8 +1780,6 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, int ret; int ret; u8 reg; u8 reg; mutex_lock(&priv->arl_mutex); /* Start search operation */ /* Start search operation */ reg = ARL_SRCH_STDN; reg = ARL_SRCH_STDN; b53_write8(priv, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, reg); b53_write8(priv, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, reg); Loading @@ -1805,18 +1787,18 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, do { do { ret = b53_arl_search_wait(priv); ret = b53_arl_search_wait(priv); if (ret) if (ret) break; return ret; b53_arl_search_rd(priv, 0, &results[0]); b53_arl_search_rd(priv, 0, &results[0]); ret = b53_fdb_copy(port, &results[0], cb, data); ret = b53_fdb_copy(port, &results[0], cb, data); if (ret) if (ret) break; return ret; if (priv->num_arl_bins > 2) { if (priv->num_arl_bins > 2) { b53_arl_search_rd(priv, 1, &results[1]); b53_arl_search_rd(priv, 1, &results[1]); ret = b53_fdb_copy(port, &results[1], cb, data); ret = b53_fdb_copy(port, &results[1], cb, data); if (ret) if (ret) break; return ret; if (!results[0].is_valid && !results[1].is_valid) if (!results[0].is_valid && !results[1].is_valid) break; break; Loading @@ -1824,8 +1806,6 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, } while (count++ < b53_max_arl_entries(priv) / 2); } while (count++ < b53_max_arl_entries(priv) / 2); mutex_unlock(&priv->arl_mutex); return 0; return 0; } } EXPORT_SYMBOL(b53_fdb_dump); EXPORT_SYMBOL(b53_fdb_dump); Loading @@ -1834,7 +1814,6 @@ int b53_mdb_add(struct dsa_switch *ds, int port, const struct switchdev_obj_port_mdb *mdb) const struct switchdev_obj_port_mdb *mdb) { { struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; /* 5325 and 5365 require some more massaging, but could /* 5325 and 5365 require some more massaging, but could * be supported eventually * be supported eventually Loading @@ -1842,11 +1821,7 @@ int b53_mdb_add(struct dsa_switch *ds, int port, if (is5325(priv) || is5365(priv)) if (is5325(priv) || is5365(priv)) return -EOPNOTSUPP; return -EOPNOTSUPP; mutex_lock(&priv->arl_mutex); return b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, true); ret = b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, true); mutex_unlock(&priv->arl_mutex); return ret; } } EXPORT_SYMBOL(b53_mdb_add); EXPORT_SYMBOL(b53_mdb_add); Loading @@ -1856,9 +1831,7 @@ int b53_mdb_del(struct dsa_switch *ds, int port, struct b53_device *priv = ds->priv; struct b53_device *priv = ds->priv; int ret; int ret; mutex_lock(&priv->arl_mutex); ret = b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, false); ret = b53_arl_op(priv, 0, port, mdb->addr, mdb->vid, false); mutex_unlock(&priv->arl_mutex); if (ret) if (ret) dev_err(ds->dev, "failed to delete MDB entry\n"); dev_err(ds->dev, "failed to delete MDB entry\n"); Loading Loading @@ -2695,7 +2668,6 @@ struct b53_device *b53_switch_alloc(struct device *base, mutex_init(&dev->reg_mutex); mutex_init(&dev->reg_mutex); mutex_init(&dev->stats_mutex); mutex_init(&dev->stats_mutex); mutex_init(&dev->arl_mutex); return dev; return dev; } } Loading
drivers/net/dsa/b53/b53_priv.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -107,7 +107,6 @@ struct b53_device { struct mutex reg_mutex; struct mutex reg_mutex; struct mutex stats_mutex; struct mutex stats_mutex; struct mutex arl_mutex; const struct b53_io_ops *ops; const struct b53_io_ops *ops; /* chip specific data */ /* chip specific data */ Loading
drivers/net/dsa/lantiq_gswip.c +5 −23 Original line number Original line Diff line number Diff line Loading @@ -276,7 +276,6 @@ struct gswip_priv { int num_gphy_fw; int num_gphy_fw; struct gswip_gphy_fw *gphy_fw; struct gswip_gphy_fw *gphy_fw; u32 port_vlan_filter; u32 port_vlan_filter; struct mutex pce_table_lock; }; }; struct gswip_pce_table_entry { struct gswip_pce_table_entry { Loading Loading @@ -524,14 +523,10 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv, u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSRD : u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSRD : GSWIP_PCE_TBL_CTRL_OPMOD_ADRD; GSWIP_PCE_TBL_CTRL_OPMOD_ADRD; mutex_lock(&priv->pce_table_lock); err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); if (err) { if (err) mutex_unlock(&priv->pce_table_lock); return err; return err; } gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | Loading @@ -541,10 +536,8 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); if (err) { if (err) mutex_unlock(&priv->pce_table_lock); return err; return err; } for (i = 0; i < ARRAY_SIZE(tbl->key); i++) for (i = 0; i < ARRAY_SIZE(tbl->key); i++) tbl->key[i] = gswip_switch_r(priv, GSWIP_PCE_TBL_KEY(i)); tbl->key[i] = gswip_switch_r(priv, GSWIP_PCE_TBL_KEY(i)); Loading @@ -560,8 +553,6 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv, tbl->valid = !!(crtl & GSWIP_PCE_TBL_CTRL_VLD); tbl->valid = !!(crtl & GSWIP_PCE_TBL_CTRL_VLD); tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7; tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7; mutex_unlock(&priv->pce_table_lock); return 0; return 0; } } Loading @@ -574,14 +565,10 @@ static int gswip_pce_table_entry_write(struct gswip_priv *priv, u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSWR : u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSWR : GSWIP_PCE_TBL_CTRL_OPMOD_ADWR; GSWIP_PCE_TBL_CTRL_OPMOD_ADWR; mutex_lock(&priv->pce_table_lock); err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); if (err) { if (err) mutex_unlock(&priv->pce_table_lock); return err; return err; } gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_w(priv, tbl->index, GSWIP_PCE_TBL_ADDR); gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | gswip_switch_mask(priv, GSWIP_PCE_TBL_CTRL_ADDR_MASK | Loading Loading @@ -613,12 +600,8 @@ static int gswip_pce_table_entry_write(struct gswip_priv *priv, crtl |= GSWIP_PCE_TBL_CTRL_BAS; crtl |= GSWIP_PCE_TBL_CTRL_BAS; gswip_switch_w(priv, crtl, GSWIP_PCE_TBL_CTRL); gswip_switch_w(priv, crtl, GSWIP_PCE_TBL_CTRL); err = gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, return gswip_switch_r_timeout(priv, GSWIP_PCE_TBL_CTRL, GSWIP_PCE_TBL_CTRL_BAS); GSWIP_PCE_TBL_CTRL_BAS); mutex_unlock(&priv->pce_table_lock); return err; } } /* Add the LAN port into a bridge with the CPU port by /* Add the LAN port into a bridge with the CPU port by Loading Loading @@ -2121,7 +2104,6 @@ static int gswip_probe(struct platform_device *pdev) priv->ds->priv = priv; priv->ds->priv = priv; priv->ds->ops = priv->hw_info->ops; priv->ds->ops = priv->hw_info->ops; priv->dev = dev; priv->dev = dev; mutex_init(&priv->pce_table_lock); version = gswip_switch_r(priv, GSWIP_VERSION); version = gswip_switch_r(priv, GSWIP_VERSION); np = dev->of_node; np = dev->of_node; Loading
drivers/net/dsa/sja1105/sja1105.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -261,8 +261,6 @@ struct sja1105_private { * the switch doesn't confuse them with one another. * the switch doesn't confuse them with one another. */ */ struct mutex mgmt_lock; struct mutex mgmt_lock; /* Serializes access to the dynamic config interface */ struct mutex dynamic_config_lock; struct devlink_region **regions; struct devlink_region **regions; struct sja1105_cbs_entry *cbs; struct sja1105_cbs_entry *cbs; struct mii_bus *mdio_base_t1; struct mii_bus *mdio_base_t1; Loading