On Thu, Mar 23, 2023 at 07:17:27PM +0100, Andrew Lunn wrote: > > So, given that this is only supposed to be used for mv88e6xxx because > > of it's legacy, maybe the check in dsa_port_phylink_create() should > > be: > > > > fwnode = of_fwnode_handle(dp->dn); > > if (fwnode && ds->ops->port_get_fwnode) { > > > > In other words, we only allow the replacement of the firmware > > description if one already existed. > > That sounds reasonable. > > > Alternatively, we could use: > > > > if (!dsa_port_is_user(dp) && ds->ops->port_get_fwnode) { > > > > since mv88e6xxx today only does this "max speed" thing for CPU and > > DSA ports, and thus we only need to replace the firmware description > > for these ports - and we can document that port_get_fwnode is only > > for CPU and DSA ports. > > Also reasonable. > > The first seems better for the Non-DT, where as the second makes it > clear it is supposed to be for CPU and DSA ports only. > > Is it over the top to combine them? To be clear, you're suggesting: if (!dsa_port_is_user(dp) && fwnode && ds->ops->port_get_fwnode) { ? If so, yes - you know better than I how these bits are supposed to work. Thanks. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!