ytphy_utp_read_abilities(9)
π ytphy_utp_read_abilities(9) β the Kernel API Manual glow-up β¨
okay so bestie, welcome to the Kernel API Manual page for ytphy_utp_read_abilities(9) β she's a little function with main character energy and honestly? she ate. let's get into it π
β¨ NAME β¨
ytphy_utp_read_abilities β reads the PHY's abilities straight out of the Clause 22 registers π¦
πΈ SYNOPSIS πΈ
int ytphy_utp_read_abilities (struct phy_device *phydev );
like yes she takes exactly one (1) argument and returns an int, no notes π
π ARGUMENTS π
phydevβ your targetphy_devicestruct, aka the little guy you're about to interrogate π«Ά
π NOTE π
okay so here's the tea: this function reads the PHY's abilities and populates phydev->supported accordingly. like it's literally filling in the vibe check of what this PHY can do π«
β οΈ but bestie, the caller must have taken the MDIO bus lock already. no cap, that's non-negotiable. don't be out here touching registers unlocked, that's not the move π
and she returns 0 or a negative errno code. that's it. that's the whole mood π
π SEE ALSO π
the whole friend group, in the kernel file ./drivers/net/phy/motorcomm.c β iykyk π
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)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)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, diva π
this whole thing lives in ./drivers/net/phy, stamped October 2026 β go forth and lock that MDIO bus before you call her, mwah ππ¦
π¦ 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