Re: [PATCH net-next v7 05/12] net: phylink: support late PCS provider attach
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2026-06-15 14:29:27
Also in:
linux-arm-kernel, linux-devicetree, linux-doc, linux-mediatek, lkml, llvm
On 6/15/26 16:10, Christian Marangi wrote:
On Mon, Jun 15, 2026 at 04:07:03PM +0200, Maxime Chevallier wrote:quoted
Hi Christian, On 6/15/26 14:29, Christian Marangi wrote:quoted
Add support for late PCS provider attachment to a phylink instance. This works by creating a global notifier for the PCS provider and making each phylink instance that makes use of fwnode subscribe to this notifier. The PCS notifier will emit the event FWNODE_PCS_PROVIDER_ADD every time a new PCS provider is added. phylink will then react to this event and will call the new function fwnode_phylink_pcs_get_from_fwnode() that will check if the PCS fwnode provided by the event is present in the pcs-handle property of the phylink instance. If a related PCS is found, then such PCS is added to the phylink instance PCS list. Then we link the PCS to the phylink instance and we refresh the supported interfaces of the phylink instance. Finally we check if we are in a major_config_failed scenario and trigger an interface reconfiguration in the next phylink resolve. In the example scenario where the link was previously torn down due to removal of PCS, the link will be established again as the PCS came back and is now available to phylink. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> ---[...]quoted
@@ -2151,6 +2204,10 @@ void phylink_destroy(struct phylink *pl) if (pl->link_gpio) gpiod_put(pl->link_gpio); + /* Unregister notifier for late PCS attach */ + if (pl->fwnode_pcs_nb.notifier_call) + unregister_fwnode_pcs_notifier(&pl->fwnode_pcs_nb);I wanted to try this out, but I get : drivers/net/phy/phylink.c:2218:17: error: implicit declaration of function ‘unregister_fwnode_pcs_notifier’; did you mean ‘register_fwnode_pcs_notifier’? [-Werror=implicit-function-declaration] 2218 | unregister_fwnode_pcs_notifier(&pl->fwnode_pcs_nb); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | register_fwnode_pcs_notifier I guess you either need to stub this, or there's a missing Kconfig dependency somewhereHi yes if you want toi test just enable CONFIG_FWNODE_PCS. I forgot to add the static declaration for unregister_fwnode_pcs_notifier.
I'll give it a go with this yeah, I have a few devices here I'd like to try this on. Can you CC me for the next rounds ? Maxime