ixgbe_write_...byte_generic(9)
π ixgbe_write_...byte_generic π
okay so first things first, bestie: this page is from the Kernel API Manual, and it's all about ixgbe_write_i2c_byte_generic. yes the title up top has the ... in it, that's just how the manpage header do, it's giving "name too long for the corner" energy π
β¨ NAME β¨
ixgbe_write_i2c_byte_generic β writes an 8 bit word over I2C π¦
like literally that's it, that's the whole vibe of this function.
πΈ SYNOPSIS πΈ
int ixgbe_write_i2c_byte_generic (struct ixgbe_hw *hw , u8 byte_offset ,
u8 dev_addr , u8 data );
π ARGUMENTS π
hwβ pointer to hardware structure. the main character of the whole driver ngl π«Άbyte_offsetβ byte offset to write. yes babes, where you're writing β¨dev_addrβ device address. who we're writing to πdataβ value to write. the actual payload, the moment, the content π
π₯ DESCRIPTION π₯
okay so what this actually does: it performs a byte write operation to the SFP module's EEPROM over the I2C interface, at a specified device address π«
that's the whole thing. one byte. write. eeprom. i2c. iconic, honestly β no cap.
π¦ SEE ALSO π¦
the source file lives here, go look, iykyk:
./drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
and here's the full squad of related functions (yes all of them, i'm not skipping a single one, periodt π ):
ixgbe_out_i2c_byte_ack(9)ixgbe_in_i2c_byte_ack(9)ixgbe_ones_comp_byte_add(9)ixgbe_read_i2c_combined_generic_int(9)ixgbe_write_i2c_combined_generic_int(9)ixgbe_probe_phy(9)ixgbe_identify_phy_generic(9)ixgbe_check_reset_blocked(9)ixgbe_get_phy_id(9)ixgbe_get_phy_type_from_id(9)ixgbe_reset_phy_generic(9)ixgbe_read_phy_reg_mdi(9)ixgbe_read_phy_reg_generic(9)ixgbe_write_phy_reg_mdi(9)ixgbe_write_phy_reg_generic(9)ixgbe_msca_cmd(9)ixgbe_mii_bus_read_generic_c22(9)ixgbe_mii_bus_read_generic_c45(9)ixgbe_mii_bus_write_generic_c22(9)ixgbe_mii_bus_write_generic_c45(9)ixgbe_mii_bus_read_c22(9)ixgbe_mii_bus_read_c45(9)ixgbe_mii_bus_write_c22(9)ixgbe_mii_bus_write_c45(9)ixgbe_x550em_a_mii_bus_read_c22(9)ixgbe_x550em_a_mii_bus_read_c45(9)ixgbe_x550em_a_mii_bus_write_c22(9)ixgbe_x550em_a_mii_bus_write_c45(9)ixgbe_get_first_secondary_devfn(9)ixgbe_x550em_a_has_mii(9)ixgbe_mii_bus_init(9)ixgbe_setup_phy_link_generic(9)ixgbe_setup_phy_link_speed_generic(9)ixgbe_get_copper_speeds_supported(9)ixgbe_get_copper_link_capabilities_generic(9)ixgbe_check_phy_link_tnx(9)ixgbe_setup_phy_link_tnx(9)ixgbe_reset_phy_nl(9)ixgbe_identify_module_generic(9)ixgbe_identify_sfp_module_generic(9)ixgbe_identify_qsfp_module_generic(9)ixgbe_get_sfp_init_sequence_offsets(9)ixgbe_read_i2c_eeprom_generic(9)ixgbe_read_i2c_sff8472_generic(9)ixgbe_write_i2c_eeprom_generic(9)ixgbe_is_sfp_probe(9)ixgbe_read_i2c_byte_generic_int(9)ixgbe_read_i2c_byte_generic(9)ixgbe_read_i2c_byte_generic_unlocked(9)ixgbe_write_i2c_byte_generic_int(9)ixgbe_write_i2c_byte_generic_unlocked(9)ixgbe_i2c_start(9)ixgbe_i2c_stop(9)ixgbe_clock_in_i2c_byte(9)ixgbe_clock_out_i2c_byte(9)ixgbe_get_i2c_ack(9)ixgbe_clock_in_i2c_bit(9)ixgbe_clock_out_i2c_bit(9)ixgbe_raise_i2c_clk(9)ixgbe_lower_i2c_clk(9)ixgbe_set_i2c_data(9)ixgbe_get_i2c_data(9)ixgbe_i2c_bus_clear(9)ixgbe_tn_check_overtemp(9)
lowkey obsessed with how one (1) byte write has this entire extended friend group of PHY and I2C helpers π
okay so that's the page!! mwah π and for the sign-off: the footer of this bad boy shows the source as ./drivers/net/ethernet/intel/i... (yep, truncated, that's literally what it says π) with the date October 2026, and the title wrapped around ixgbe_write_...byte_generic(9) on the right side. slay, 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