genphy_c45_aneg_done(9)
π genphy_c45_aneg_done(9) β the auto-negotiation vibe check
okay so real talk, this one lives in the Kernel API Manual and it's genuinely one of the cutest little helpers in there. bestie, let's get into it π
β¨ NAME β¨
genphy_c45_aneg_done β returns the auto-negotiation complete status, that's it, that's the whole job π¦
β¨ SYNOPSIS β¨
int genphy_c45_aneg_done (struct phy_device *phydev );
β¨ ARGUMENTS β¨
phydevβ the targetstruct phy_deviceyou're asking about. it's giving "who are we checking on today" energy π
β¨ DESCRIPTION β¨
so this function assumes that the auto-negotiation MMD is present β like, don't come for her if it isn't, she said what she said π
what she does: reads the status register from the auto-negotiation MMD, and then returns one of three things, and honestly the range is iconic:
- positive if auto-negotiation is complete β slay
- negative errno code on error π not slay
- zero otherwise β like, not done yet, we're still waiting, main character is still loading β³
ngl the "zero otherwise" is such a mood. it's not a no, it's a "not yet" π«Ά
β¨ SEE ALSO β¨
the whole friend group fr fr β the kernel file is ./drivers/net/phy/phy-c45.c, and then there's this absolute roster:
genphy_c45_baset1_able(9)genphy_c45_pma_can_sleep(9)genphy_c45_pma_resume(9)genphy_c45_pma_suspend(9)genphy_c45_pma_baset1_setup_master_slave(9)genphy_c45_pma_setup_forced(9)genphy_c45_an_config_aneg(9)genphy_c45_an_disable_aneg(9)genphy_c45_restart_aneg(9)genphy_c45_check_and_restart_aneg(9)genphy_c45_pma_soft_reset(9)genphy_c45_an_setup_master_slave(9)genphy_c45_read_master_slave(9)genphy_c45_read_link(9)genphy_c45_read_lpa(9)genphy_c45_pma_baset1_read_master_slave(9)genphy_c45_read_pma(9)genphy_c45_read_mdix(9)genphy_c45_write_eee_adv(9)genphy_c45_read_eee_adv(9)genphy_c45_read_eee_lpa(9)genphy_c45_read_eee_cap1(9)genphy_c45_read_eee_cap2(9)genphy_c45_read_eee_abilities(9)genphy_c45_an_config_eee_aneg(9)genphy_c45_pma_baset1_read_abilities(9)genphy_c45_pma_read_ext_abilities(9)genphy_c45_pma_read_abilities(9)genphy_c45_read_status(9)genphy_c45_config_aneg(9)genphy_c45_fast_retrain(9)genphy_c45_plca_get_cfg(9)genphy_c45_plca_set_cfg(9)genphy_c45_plca_get_status(9)genphy_c45_eee_is_active(9)genphy_c45_ethtool_get_eee(9)genphy_c45_ethtool_set_eee(9)oatc14_cable_test_get_result_code(9)genphy_c45_oatc14_cable_test_get_status(9)genphy_c45_oatc14_cable_test_start(9)oatc14_update_sqi_capability(9)genphy_c45_oatc14_get_sqi_max(9)genphy_c45_oatc14_get_sqi(9)
like, literally forty-whatever of them, and yes I listed every single one because we don't do "etc." in this house π β¨
okay that's the page!! π this whole thing comes to you from the Kernel API Manual, source path ./drivers/net/phy, dated October 2026 β mwah, love u, go read your PHY status registers responsibly π₯ππ
π¦ 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