]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phylink: expand on .pcs_config() method documentation
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 10 Mar 2025 11:10:52 +0000 (11:10 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Mon, 17 Mar 2025 20:30:54 +0000 (21:30 +0100)
Expand on the requirements of the .pcs_config() method documentation,
specifically mentioning that it should cause minimal disruption to
an established link, and that it should return a positive non-zero
value when requiring the .pcs_an_restart() method to be called.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1trb24-005oVq-Is@rmk-PC.armlinux.org.uk
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/linux/phylink.h

index c187267a15b6c4de8a67fc43a3685bd63fb25d8a..79876c84ae81481252c17eea05ff085983e96afa 100644 (file)
@@ -595,6 +595,14 @@ void pcs_get_state(struct phylink_pcs *pcs, unsigned int neg_mode,
  * The %neg_mode argument should be tested via the phylink_mode_*() family of
  * functions, or for PCS that set pcs->neg_mode true, should be tested
  * against the PHYLINK_PCS_NEG_* definitions.
+ *
+ * pcs_config() will be called when configuration of the PCS is required
+ * or when the advertisement is possibly updated. It must not unnecessarily
+ * disrupt an established link.
+ *
+ * When an autonegotiation restart is required for 802.3z modes, .pcs_config()
+ * should return a positive non-zero integer (e.g. 1) to indicate to phylink
+ * to call the pcs_an_restart() method.
  */
 int pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
               phy_interface_t interface, const unsigned long *advertising,