phy_mii_ioctl(9)
π NAME π
Okay so bestie, say hi to phy_mii_ioctl(9) from the Kernel API Manual π«Ά β it's the generic PHY MII ioctl interface. That's the whole vibe, and it's iconic. β¨
π SYNOPSIS π
int phy_mii_ioctl (struct phy_device *phydev , struct ifreq *ifr , int
cmd );
π§Έ ARGUMENTS π§Έ
phydevβ thephy_devicestruct, aka the PHY device bestie in question.ifrβstruct ifreqfor socket ioctl's. Yep, exactly for socket ioctl's.cmdβ the ioctl cmd to execute. That's the instruction, periodt.
β οΈ DESCRIPTION β οΈ
Heads up, bestie: this function is currently incompatible with the PHYCONTROL layer. It changes registers without regard to current state. Use at own risk. π
That's the whole warning, no cap. It's giving "proceed with caution" energy, because it changes registers without regard to current state, and the manual literally says use at own risk. Not me forgetting that part β it's right there. π₯
π SEE ALSO π
Kernel file ./drivers/net/phy/phy.c is home base. Here's the whole squad, every single one:
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_check_valid(9)phy_sanitize_settings(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)
Source/version: ./drivers/net/phy Β· date: October 2026 Β· page: phy_mii_ioctl(9). Mwah, go forth and ioctl responsibly πβ¨π¦
π¦ 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