Message ID | 20220218062147.7672-1-luizluca@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2] net: dsa: OF-ware slave_mii_bus | expand |
On Fri, Feb 18, 2022 at 03:21:47AM -0300, Luiz Angelo Daros de Luca wrote: > If found, register the DSA internally allocated slave_mii_bus with an OF > "mdio" child object. It can save some drivers from creating their > custom internal MDIO bus. > @@ -924,7 +926,10 @@ static int dsa_switch_setup(struct dsa_switch *ds) > > dsa_slave_mii_bus_init(ds); > > - err = mdiobus_register(ds->slave_mii_bus); > + dn = of_get_child_by_name(ds->dev->of_node, "mdio"); > + > + err = of_mdiobus_register(ds->slave_mii_bus, dn); > + of_node_put(dn); This makes sense, but please update the binding document to include this: Documentation/devicetree/bindings/net/dsa/dsa.yaml Andrew
diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index e498c927c3d0..2206e2d2a7b3 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -13,6 +13,7 @@ #include <linux/slab.h> #include <linux/rtnetlink.h> #include <linux/of.h> +#include <linux/of_mdio.h> #include <linux/of_net.h> #include <net/devlink.h> #include <net/sch_generic.h> @@ -869,6 +870,7 @@ static int dsa_switch_setup_tag_protocol(struct dsa_switch *ds) static int dsa_switch_setup(struct dsa_switch *ds) { struct dsa_devlink_priv *dl_priv; + struct device_node *dn; struct dsa_port *dp; int err; @@ -924,7 +926,10 @@ static int dsa_switch_setup(struct dsa_switch *ds) dsa_slave_mii_bus_init(ds); - err = mdiobus_register(ds->slave_mii_bus); + dn = of_get_child_by_name(ds->dev->of_node, "mdio"); + + err = of_mdiobus_register(ds->slave_mii_bus, dn); + of_node_put(dn); if (err < 0) goto free_slave_mii_bus; }
If found, register the DSA internally allocated slave_mii_bus with an OF "mdio" child object. It can save some drivers from creating their custom internal MDIO bus. Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> --- net/dsa/dsa2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)