Hello Russel, On Wed, 3 Jan 2024, Russell King (Oracle) wrote: ... > Since the MAC driver has to itself provide the PCS to phylink via the > mac_select_pcs() method, the MAC driver already has knowledge of which > PCS it is going to be using. Therefore, I think it may make sense > to do something like this: > > int phylink_pcs_preconfig(struct phylink *pl, struct phylink_pcs *pcs) > { > if (pl->config->mac_requires_rxc) > pcs->rxc_always_on = true; > > if (pcs->ops->preconfig) > pcs->ops->pcs_preconfig(pcs); > } > > and have stmmac call phylink_pcs_preconfig() for each PCS that it will > be using during initialisation / resume paths? Yes, that is definitely a much cleaner solution. I'll reimplement the PCS changes in this way. Best Regards, -- Romain Gantois, Bootlin Embedded Linux and Kernel engineering https://bootlin.com