STRUCT EF4_PHY_OPERATIONS(9)
β¨ NAME β¨
struct ef4_phy_operations β Efx PHY operations table. Bestie, welcome to the Kernel API Manual page for struct ef4_phy_operations(9); it is giving PHY operation table realness. π
π¦ SYNOPSIS π¦
Okay so here is the entire struct, exactly as it appears β no cap, this is the sacred code block:
struct ef4_phy_operations {
int (*probe) (struct ef4_nic *efx);
int (*init) (struct ef4_nic *efx);
void (*fini) (struct ef4_nic *efx);
void (*remove) (struct ef4_nic *efx);
int (*reconfigure) (struct ef4_nic *efx);
bool (*poll) (struct ef4_nic *efx);
void (*get_link_ksettings)(struct ef4_nic *efx, struct
ethtool_link_ksettings *cmd);
int (*set_link_ksettings)(struct ef4_nic *efx, const struct
ethtool_link_ksettings *cmd);
void (*set_npage_adv) (struct ef4_nic *efx, u32);
int (*test_alive) (struct ef4_nic *efx);
const char *(*test_name) (struct ef4_nic *efx, unsigned int index);
int (*run_tests) (struct ef4_nic *efx, int *results, unsigned
flags);
int (*get_module_eeprom) (struct ef4_nic *efx, struct ethtool_eeprom
*ee, u8 *data);
int (*get_module_info) (struct ef4_nic *efx, struct ethtool_modinfo
*modinfo);
};
π Members π
Here are the member besties and their little blurbs. The <hotpink>mac_lock</hotpink> girlies are marked in the descriptions, iykyk. πβ¨
probeβ Probe PHY and initialiseefx->mdio.mode_support,efx->mdio.mmds,efx->loopback_modes.initβ Initialise PHYfiniβ Shut down PHYreconfigureβ Reconfigure PHY (e.g. for new link parameters)pollβ Updatelink_stateand report whether it changed. Serialised by themac_lock.get_link_ksettingsβ Get ethtool settings. Serialised by themac_lock.set_link_ksettingsβ Set ethtool settings. Serialised by themac_lock.set_npage_advβ Set abilities advertised in (Extended) Next Page (only needed where AN bit is set inmmds)test_aliveβ Test that PHY is 'alive' (online)test_nameβ Get the name of a PHY-specific test/resultrun_testsβ Run tests and record results as appropriate (offline). Flags are the ethtool tests flags.
Also in the struct definition above:remove,get_module_eeprom, andget_module_info. The Members list does not give them their own one-liner here, but they are absolutely part of this operation table β do not leave them on read. π
π SEE ALSO π
Kernel file, front and center: ./drivers/net/ethernet/sfc/falcon/net_driver.h
Then the whole squad of references:
struct ef4_buffer(9)struct ef4_special_buffer(9)struct ef4_tx_buffer(9)struct ef4_tx_queue(9)struct ef4_rx_buffer(9)struct ef4_rx_page_state(9)struct ef4_rx_queue(9)struct ef4_channel(9)struct ef4_msi_context(9)struct ef4_channel_type(9)struct ef4_link_state(9)enum ef4_phy_mode(9)struct ef4_hw_stat_desc(9)struct ef4_nic(9)struct ef4_nic_type(9)
And that is the page, bestie. Source/version/date sign-off: from ./drivers/net/ethernet/sfc/falcon, dated October 2026, and the page is struct ef4_phy_operations(9). Slay, 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