ytphy_modify_ext(9)
π ytphy_modify_ext β the Kernel API Manual tea π«
okay bestie, welcome to the ytphy_modify_ext(9) page β it's a kernel API manual situation and honestly it's kind of a cute little one β¨
π NAME π
ytphy_modify_ext β bits-modify a PHY's extended register. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
int ytphy_modify_ext (struct phy_device *phydev , u16 regnum , u16 mask
, u16 set );
like, look at her go π she's giving "small function, big responsibility" fr fr
π¦ ARGUMENTS π¦
phydevβ a pointer to astruct phy_device. yes girl, the whole PHY, right there πregnumβ the register number to write. which register are we touching? this one πmaskβ bit mask of bits to clear. the "bye bye" list πsetβ bit mask of bits to set. the "hello gorgeous" list π«Ά
β NOTE β
okay so this is a convenience function (iconic, low-effort, high-reward) that lets you modify a PHY's extended register, and the math is literally:
new register value = (old register value & ~mask) | set
read it like a recipe: take the old value, AND it with the inverse of mask to wipe those bits out, then OR in set to light up the ones you want. chef's kiss π§
π¨ big important caveat, do NOT skip this one bestie: the caller must have taken the MDIO bus lock. like, must. no cap. that's on you, not on her.
and she returns 0 or a negative error code β so zero is the slay outcome, negative means something went sideways π
π SEE ALSO π
the whole friend group, no one left out π and yeah, the kernel file lives at ./drivers/net/phy/motorcomm.c, go say hi π
ytphy_read_ext(9)ytphy_read_ext_with_lock(9)ytphy_write_ext(9)ytphy_write_ext_with_lock(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)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)
and that's the page, bestie π«Ά this little gem lives in ./drivers/net/phy, dated October 2026 β go off, read some more manpages, and remember: take the lock. periodt. π
π¦ 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