phy_check_valid(9)
β¨ phy_check_valid(9) β¨
okay bestie, welcome to the Kernel API Manual, section 9 β this one's short and sweet and honestly kind of a vibe check for your PHY settings πΈ
π NAME π
phy_check_valid β check if there is a valid PHY setting which matches speed, duplex, and feature mask π
π¦ SYNOPSIS π¦
bool phy_check_valid (int speed , int duplex , unsigned long *features
);
like yes the spacing is weird, don't come for me, that's just how the manpage served it π«Ά
π ARGUMENTS π
speedβ the speed you're trying to match, bestie πββοΈduplexβ the duplex you're trying to match, we love a full-duplex moment πfeaturesβ a mask of the valid settings, the whole guest list basically π
π DESCRIPTION π
Returns true if there is a valid setting, false otherwise. that's it. that's the whole function. short king energy π no cap, it just tells you whether a valid setting exists for the speed / duplex / feature-mask combo you handed it, and if there isn't one it hits you with the false π
π₯ SEE ALSO π₯
the whole extended fam lives in the kernel file ./drivers/net/phy/phy.c, and honestly the list is giving reunion episode π every single one of these showed up:
phy_print_status(9)phy_get_rate_matching(9)phy_config_interrupt(9)phy_restart_aneg(9)phy_aneg_done(9)phy_supported_speeds(9)phy_sanitize_settings(9)phy_mii_ioctl(9)phy_do_ioctl(9)phy_do_ioctl_running(9)__phy_hwtstamp_get(9)__phy_hwtstamp_set(9)phy_queue_state_machine(9)phy_trigger_machine(9)phy_ethtool_get_strings(9)phy_ethtool_get_sset_count(9)phy_ethtool_get_stats(9)__phy_ethtool_get_phy_stats(9)__phy_ethtool_get_link_ext_stats(9)phy_ethtool_get_plca_cfg(9)plca_check_valid(9)phy_ethtool_set_plca_cfg(9)phy_ethtool_get_plca_status(9)phy_start_cable_test(9)phy_start_cable_test_tdr(9)phy_check_link_status(9)phy_inband_caps(9)phy_config_inband(9)_phy_start_aneg(9)phy_start_aneg(9)phy_speed_down(9)phy_speed_up(9)phy_start_machine(9)phy_stop_machine(9)phy_error(9)phy_write_barrier(9)phy_disable_interrupts(9)phy_interrupt(9)phy_enable_interrupts(9)phy_update_stats(9)phy_request_interrupt(9)phy_free_interrupt(9)phy_get_next_update_time(9)phy_state_machine(9)phy_stop(9)phy_start(9)phy_mac_interrupt(9)phy_loopback(9)phy_eee_tx_clock_stop_capable(9)phy_eee_rx_clock_stop(9)phy_init_eee(9)phy_get_eee_err(9)phy_ethtool_get_eee(9)phy_ethtool_set_eee_noneg(9)phy_ethtool_set_eee(9)phy_ethtool_set_wol(9)phy_ethtool_get_wol(9)phy_ethtool_nway_reset(9)
and that's the whole page, bestie β mwah π this little cutie ships out of ./drivers/net/phy and the docs are dated October 2026, so like, future-iconic π go read your PHY settings, ily, bye π«Άπ
π¦ 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