yt8521_fiber_setup_forced(9)
πΈ yt8521_fiber_setup_forced β like, the whole vibe β¨
okay bestie, listen π this page is from the Kernel API Manual, section 9 β so we're deep in kernel-driver territory, but don't panic, it's literally just one function and she's not even complicated.
β¨ NAME β¨
yt8521_fiber_setup_forced β configures and/or forces the speed from @phydev π
π¦ SYNOPSIS π¦
int yt8521_fiber_setup_forced (struct phy_device *phydev );
that's it. that's the whole signature. she's giving minimalism π
πΈ ARGUMENTS πΈ
phydevβ the targetphy_devicestruct π this is the thing you're pointing at, the main character of the operation, the one whose speed is about to get configured/forced. nophydev, no function. periodt.
π NOTE π
bestie. read this one twice, fr fr π
The caller must have taken the MDIO bus lock. like, not "should", not "ideally" β must. this is not a drill. lock it first, then call.
And when it's done it returns 0 or a negative errno code. that's it. 0 = slay, negative = something's wrong, check the errno and go off π₯
π§ SEE ALSO π§
okay this list is LONG, like genuinely iconic levels of cross-referencing, but it's basically the whole friend group of this driver, so here we go π
Kernel file: ./drivers/net/phy/motorcomm.c
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)ytphy_check_and_restart_aneg(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)
π«Ά reminder bestie: take the MDIO bus lock before you call this. it's in the NOTE for a reason, we don't skip the NOTE.
mwah π that's the whole page β lovingly sourced from ./drivers/net/phy, dated October 2026, from the Kernel API Manual. go configure some fiber, you got this πβ¨
π¦ 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