Message ID | 20201004161257.13945-3-andrew@lunn.ch |
---|---|
State | New |
Headers | show |
Series | mv88e6xxx: Add per port devlink regions | expand |
On 10/4/2020 9:12 AM, Andrew Lunn wrote: > If a port is unused, still create a devlink port for it, but set the > flavour to unused. This allows us to attach devlink regions to the > port, etc. > > Reviewed-by: Vladimir Oltean <olteanv@gmail.com> > Tested-by: Vladimir Oltean <olteanv@gmail.com> > Signed-off-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 3cf67f5fe54a..2c149fb36928 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -272,6 +272,15 @@ static int dsa_port_setup(struct dsa_port *dp) switch (dp->type) { case DSA_PORT_TYPE_UNUSED: + memset(dlp, 0, sizeof(*dlp)); + attrs.flavour = DEVLINK_PORT_FLAVOUR_UNUSED; + devlink_port_attrs_set(dlp, &attrs); + err = devlink_port_register(dl, dlp, dp->index); + if (err) + break; + + devlink_port_registered = true; + dsa_port_disable(dp); break; case DSA_PORT_TYPE_CPU: @@ -355,6 +364,7 @@ static void dsa_port_teardown(struct dsa_port *dp) switch (dp->type) { case DSA_PORT_TYPE_UNUSED: + devlink_port_unregister(dlp); break; case DSA_PORT_TYPE_CPU: dsa_port_disable(dp);