__genphy_config_aneg(9)
β¨ __genphy_config_aneg(9) β¨
okay so bestie, welcome to the Kernel API Manual β yes that's the whole manual name, we're in the big-leagues section 9 now π
and today's main character is __genphy_config_aneg. she's lowkey the one who decides whether your ethernet phy renegotiates its whole vibe with the link partner, or just gets a BMCR written at it. no cap, she's iconic.
πΈ NAME πΈ
__genphy_config_aneg β restart auto-negotiation or write BMCR π«Ά
like. that's literally her job description and she does it flawlessly.
π¦ SYNOPSIS π¦
int __genphy_config_aneg (struct phy_device *phydev , bool changed );
that's the whole signature, copy it exactly, don't @ me π
π ARGUMENTS π
phydevβ the targetphy_devicestruct π this is the phy we're doing all of this for, she's the main character of the struct worldchangedβ abool, and it tells us whether autoneg is requested π iykyk
β DESCRIPTION β
okay so here's the tea, and it's genuinely simple:
- if auto-negotiation is enabled, we configure the advertising, and then we restart auto-negotiation β¨
- if it is not enabled, then we write the BMCR π
that's it. that's the whole function. two paths, both slay, zero notes. periodt. π
π₯ SEE ALSO π₯
this list is LONG bestie, do not skip it, every single one of these got invited to the group chat π
Kernel file ./drivers/net/phy/phy_device.c β and then, alphabetically-ish, the whole squad:
phy_uses_state_machine(9)phy_register_fixup(9)genphy_match_phy_device(9)get_phy_c45_ids(9)get_phy_c22_id(9)get_phy_device(9)phy_device_register(9)phy_device_remove(9)phy_get_c45_ids(9)phy_find_next(9)phy_prepare_link(9)phy_connect_direct(9)phy_connect(9)phy_disconnect(9)phy_poll_reset(9)phy_sfp_connect_phy(9)phy_sfp_disconnect_phy(9)phy_sfp_attach(9)phy_sfp_detach(9)phy_sfp_probe(9)phy_attach_direct(9)phy_detach(9)phy_reset_after_clk_enable(9)genphy_config_advert(9)genphy_c37_config_advert(9)genphy_setup_forced(9)genphy_restart_aneg(9)genphy_check_and_restart_aneg(9)genphy_c37_config_aneg(9)genphy_aneg_done(9)genphy_update_link(9)genphy_read_status_fixed(9)genphy_read_status(9)genphy_c37_read_status(9)genphy_soft_reset(9)genphy_read_abilities(9)phy_remove_link_mode(9)phy_advertise_supported(9)phy_advertise_eee_all(9)phy_support_eee(9)phy_disable_eee(9)phy_support_sym_pause(9)phy_support_asym_pause(9)phy_set_sym_pause(9)phy_set_asym_pause(9)phy_validate_pause(9)phy_get_pause(9)phy_get_internal_delay(9)phy_get_tx_amplitude_gain(9)phy_get_mac_termination(9)phy_get_sfp_port(9)fwnode_mdio_find_device(9)fwnode_phy_find_device(9)fwnode_get_phy_node(9)phy_probe(9)phy_driver_register(9)
ngl the SEE ALSO list is giving "everyone showed up to the function's birthday party" and honestly? we love that for her π§π
and that's the whole page, bestie π sourced straight from ./drivers/net/phy, dated October 2026, and yes β __genphy_config_aneg(9) is still her name, she never changed it, she never will. mwah ππΈβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms