ytphy_read_ext_with_lock(9)
π ytphy_read_ext_with_lock(9) π¦
okay bestie, welcome to the Kernel API Manual β¨ this one's a lil function from the kernel side of things and she's honestly so simple it's giving main character energy for a one-liner. let's get into it π«Ά
β¨ NAME β¨
ytphy_read_ext_with_lock β reads a PHY's extended register π
like, that's her whole job. one (1) job. and she ate.
πΈ SYNOPSIS πΈ
int ytphy_read_ext_with_lock (struct phy_device *phydev , u16 regnum );
yes the spacing before the commas is exactly like that, don't @ me, that's just how she was written π
π ARGUMENTS π
phydevβ a pointer to astruct phy_deviceπ§ that's your PHY, your whole vibe, the device you're doing the thing toregnumβ register number to read πΈ theu16one. that's the extended register you're peeking at
π DESCRIPTION π
so basically π it returns the value of regnum reg β that's your read, bestie, the actual contents of the extended register β or negative error code π which is the "nope, didn't work" branch. so like... check the return value, fr fr, don't just assume it's data π
lowkey the most important thing here: it can hand you back an error instead of a register value, so vibe-check that int before you go treating it like real data π
π SEE ALSO π
the kernel file lives at ./drivers/net/phy/motorcomm.c and honestly? she has SO many siblings. like a whole extended family reunion. here's every single one, no cap, none skipped π
ytphy_read_ext(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)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)
like I said. huge family. iykyk π¦
and that's the page, bestie β¨ this one came out of ./drivers/net/phy, dated October 2026, and she's ytphy_read_ext_with_lock(9) through and through π
go read some extended registers responsibly, ily π«Άπ
π¦ 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