> @@ -304,6 +312,18 @@ static int dsa_ds_apply(struct dsa_switch_tree *dst, 
> struct dsa_switch *ds)
>       if (err < 0)
>               return err;
>  
> +     if (!ds->slave_mii_bus && ds->drv->phy_read) {
> +             ds->slave_mii_bus = devm_mdiobus_alloc(ds->dev);
> +             if (!ds->slave_mii_bus)
> +                     return err;
> +
> +             dsa_slave_mii_bus_init(ds);
> +
> +             err = mdiobus_register(ds->slave_mii_bus);
> +             if (err < 0)
> +                     return err;
> +     }
> +
>       for (index = 0; index < DSA_MAX_PORTS; index++) {
>               port = ds->ports[index].dn;
>               if (!port)

Hi Florian

This hunk does not seem to fit in this patch.

It is also missing the unregister in dsa_ds_unapply().

   Andrew

Reply via email to