genphy_c45_...restart_aneg(9)
π NAME π
okay so bestie, gather round β this is genphy_c45_check_and_restart_aneg, and its whole job is literally just enabling and restarting auto-negotiation. that's it. that's the vibe. we love a function with a clear purpose β¨
(this one lives in the Kernel API Manual, if you were wondering where we're at rn π )
πΈ SYNOPSIS πΈ
int genphy_c45_check_and_restart_aneg (struct phy_device *phydev , bool
restart );
it returns an int, it takes two things, and yes the line break is just how it's written, don't come for me π
π ARGUMENTS π
phydevβ the targetphy_devicestruct. like, the PHY we're doing all this to. main character energy fr π«Άrestartβ abool, and it's giving "do you actually want an aneg restart or not". whether aneg restart is requested, periodt.
π¦ DESCRIPTION π¦
so the big assumption here: this function assumes that the auto-negotiation MMD is present. like, it's not gonna go check for you and be like "hmm is it there tho" β nope, that's on you. iykyk π
then it does exactly what it says on the tin: check, and restart auto-negotiation if needed. lowkey iconic, highkey necessary. that's the whole function, no cap β¨
π SEE ALSO π
this is the part where the manpage just lists literally everyone in the group chat, so buckle up bestie π they all live in the kernel file ./drivers/net/phy/phy-c45.c:
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_pma_soft_reset(9)genphy_c45_an_setup_master_slave(9)genphy_c45_read_master_slave(9)genphy_c45_aneg_done(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)
ngl bestie, that's forty-three whole cross-references. iconic of the kernel to be that thorough π
and that's a wrap! π this little page came to you from ./drivers/net/phy, stamped October 2026, straight out of the Kernel API Manual β mwah, love u, go restart some auto-negotiation 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