ytphy_check_...restart_aneg(9)
β¨ ytphy_check_and_restart_aneg β the Kernel API Manual, but make it make sense β¨
okay bestie, so this one is a function from the Kernel API Manual and it's lowkey iconic: ytphy_check_and_restart_aneg. It's literally just "check the auto-negotiation situation and restart it if you need to." Genuinely that's the whole vibe. π
πΈ NAME πΈ
ytphy_check_and_restart_aneg β enable and restart auto-negotiation. That's it, that's the job, she ate. β¨
π SYNOPSIS π
int ytphy_check_and_restart_aneg (struct phy_device *phydev , bool
restart );
π¦ ARGUMENTS π¦
phydevβ the targetphy_devicestruct, i.e. the phy device we're doing all this for. Your main character, fr.restartβ abool, and it's giving "do you actually want an aneg restart or not?" Sotrue-ish = yes please restart, and otherwise = nah we're chilling.
π NOTE π
π¨ bestie read this part, it's important π¨
The caller must have taken the MDIO bus lock. Like, must must. Don't be out here calling this without holding that lock, okay? π
And it returns 0 or a negative errno code. So zero = slay, negative = something went sideways. π
π₯ SEE ALSO π₯
Kernel file ./drivers/net/phy/motorcomm.c and honestly the whole friend group: ytphy_read_ext(9), ytphy_read_ext_with_lock(9), ytphy_write_ext(9), ytphy_write_ext_with_lock(9), ytphy_modify_ext(9), ytphy_modify_ext_with_lock(9), ytphy_get_wol(9), ytphy_set_wol(9), yt8521_read_page(9), yt8521_write_page(9), struct ytphy_cfg_reg_map(9), struct ytphy_ldo_vol_map(9), yt8521_probe(9), ytphy_utp_read_lpa(9), yt8521_adjust_status(9), yt8521_read_status_paged(9), yt8521_read_status(9), yt8521_modify_bmcr_paged(9), yt8521_modify_utp_fiber_bmcr(9), yt8521_soft_reset(9), yt8521_suspend(9), yt8521_resume(9), yt8521_config_init(9), yt8531_link_change_notify(9), yt8521_prepare_fiber_features(9), yt8521_fiber_setup_forced(9), yt8521_fiber_config_aneg(9), ytphy_setup_master_slave(9), ytphy_utp_config_advert(9), ytphy_utp_config_aneg(9), yt8521_config_aneg_paged(9), yt8521_config_aneg(9), yt8521_aneg_done_paged(9), yt8521_aneg_done(9), ytphy_utp_read_abilities(9), yt8521_get_features_paged(9), yt8521_get_features(9), yt8821_get_features(9), yt8821_get_rate_matching(9), yt8821_aneg_done(9), yt8821_serdes_init(9), yt8821_utp_init(9), yt8821_auto_sleep_config(9), yt8821_soft_reset(9), yt8821_config_init(9), yt8821_adjust_status(9), yt8821_update_interface(9), yt8821_read_status(9), yt8821_modify_utp_fiber_bmcr(9), yt8821_suspend(9), yt8821_resume(9).
Like. The whole extended universe, no cap. π
anyway that's the page!! it lives in ./drivers/net/phy, it's dated October 2026, and it's brought to you under the Kernel API Manual banner. mwah, go hold that MDIO bus lock bestie ππ«Ά
π¦ 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