mirror of https://gitee.com/openkylin/linux.git
net: dsa: use dedicated CPU port
Each port in DSA has its own dedicated CPU port currently available in its parent switch's ds->ports[port].cpu_dp. Use it instead of getting the unique tree CPU port, which will be deprecated soon. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6e617de84e
commit
0abfd494de
|
@ -1336,7 +1336,7 @@ EXPORT_SYMBOL(b53_fdb_dump);
|
|||
int b53_br_join(struct dsa_switch *ds, int port, struct net_device *br)
|
||||
{
|
||||
struct b53_device *dev = ds->priv;
|
||||
s8 cpu_port = ds->dst->cpu_dp->index;
|
||||
s8 cpu_port = ds->ports[port].cpu_dp->index;
|
||||
u16 pvlan, reg;
|
||||
unsigned int i;
|
||||
|
||||
|
@ -1382,7 +1382,7 @@ void b53_br_leave(struct dsa_switch *ds, int port, struct net_device *br)
|
|||
{
|
||||
struct b53_device *dev = ds->priv;
|
||||
struct b53_vlan *vl = &dev->vlans[0];
|
||||
s8 cpu_port = ds->dst->cpu_dp->index;
|
||||
s8 cpu_port = ds->ports[port].cpu_dp->index;
|
||||
unsigned int i;
|
||||
u16 pvlan, reg, pvid;
|
||||
|
||||
|
|
|
@ -661,7 +661,7 @@ static int bcm_sf2_sw_resume(struct dsa_switch *ds)
|
|||
static void bcm_sf2_sw_get_wol(struct dsa_switch *ds, int port,
|
||||
struct ethtool_wolinfo *wol)
|
||||
{
|
||||
struct net_device *p = ds->dst->cpu_dp->netdev;
|
||||
struct net_device *p = ds->ports[port].cpu_dp->netdev;
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
struct ethtool_wolinfo pwol;
|
||||
|
||||
|
@ -684,9 +684,9 @@ static void bcm_sf2_sw_get_wol(struct dsa_switch *ds, int port,
|
|||
static int bcm_sf2_sw_set_wol(struct dsa_switch *ds, int port,
|
||||
struct ethtool_wolinfo *wol)
|
||||
{
|
||||
struct net_device *p = ds->dst->cpu_dp->netdev;
|
||||
struct net_device *p = ds->ports[port].cpu_dp->netdev;
|
||||
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
|
||||
s8 cpu_port = ds->dst->cpu_dp->index;
|
||||
s8 cpu_port = ds->ports[port].cpu_dp->index;
|
||||
struct ethtool_wolinfo pwol;
|
||||
|
||||
p->ethtool_ops->get_wol(p, &pwol);
|
||||
|
|
|
@ -928,11 +928,11 @@ mt7530_setup(struct dsa_switch *ds)
|
|||
struct device_node *dn;
|
||||
struct mt7530_dummy_poll p;
|
||||
|
||||
/* The parent node of cpu_dp->netdev which holds the common system
|
||||
/* The parent node of master netdev which holds the common system
|
||||
* controller also is the container for two GMACs nodes representing
|
||||
* as two netdev instances.
|
||||
*/
|
||||
dn = ds->dst->cpu_dp->netdev->dev.of_node->parent;
|
||||
dn = ds->ports[MT7530_CPU_PORT].netdev->dev.of_node->parent;
|
||||
priv->ethernet = syscon_node_to_regmap(dn);
|
||||
if (IS_ERR(priv->ethernet))
|
||||
return PTR_ERR(priv->ethernet);
|
||||
|
|
|
@ -176,7 +176,7 @@ static int mv88e6060_setup_port(struct dsa_switch *ds, int p)
|
|||
((p & 0xf) << PORT_VLAN_MAP_DBNUM_SHIFT) |
|
||||
(dsa_is_cpu_port(ds, p) ?
|
||||
ds->enabled_port_mask :
|
||||
BIT(ds->dst->cpu_dp->index)));
|
||||
BIT(ds->ports[p].cpu_dp->index)));
|
||||
|
||||
/* Port Association Vector: when learning source addresses
|
||||
* of packets, add the address to the address database using
|
||||
|
|
|
@ -506,7 +506,7 @@ qca8k_setup(struct dsa_switch *ds)
|
|||
pr_warn("regmap initialization failed");
|
||||
|
||||
/* Initialize CPU port pad mode (xMII type, delays...) */
|
||||
phy_mode = of_get_phy_mode(ds->dst->cpu_dp->dn);
|
||||
phy_mode = of_get_phy_mode(ds->ports[QCA8K_CPU_PORT].dn);
|
||||
if (phy_mode < 0) {
|
||||
pr_err("Can't find phy-mode for master device\n");
|
||||
return phy_mode;
|
||||
|
|
Loading…
Reference in New Issue