ixgbe_write...ric_unlocked(9)
π ixgbe_write_i2c_combined_generic_unlocked(9) π
okay so grab a snack bestie because we're diving into the Kernel API Manual β this one lives in section 9, the big-brain kernel hacker section, and it's all about doing an I2C write combined operation on your ixgbe NIC. no cap, it's a whole vibe of a function name, but the job is simple: shove a value into a register on the I2C bus and tell you if it went sideways β¨
πΈ NAME πΈ
ixgbe_write_i2c_combined_generic_unlocked β literally does the I2C write combined operation. that's it, that's the tweet π¦
π SYNOPSIS π
int ixgbe_write_i2c_combined_generic_unlocked (struct ixgbe_hw *hw , u8
addr , u16 reg , u16 val );
so you call it like that, it hands you back an int, and it takes exactly those four things. slay π
π¦ ARGUMENTS π¦
hwβ pointer to the hardware structure π like, the whole hardware vibe, passed in by pointer.addrβ the I2C bus address you're writing to π¬regβ the I2C device register you're writing to π―valβ the value you're writing, that's the payload bestie π
π₯ DESCRIPTION π₯
Returns an error code on error. π yes that's genuinely the whole description, short and iconic, we love a low-word-count king. if everything's chill it won't be returning an error code, iykyk. and the "unlocked" in the name is right there in the name, so keep that in mind β this is the version that doesn't do the locking for you, fr fr.
π SEE ALSO π
the kernel file it lives in, in all its glory:
./drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
and literally the entire friend group of related functions, all in section 9, all documented, all here π:
ixgbe_read_cs4227(9)ixgbe_write_cs4227(9)ixgbe_read_pe(9)ixgbe_write_pe(9)ixgbe_reset_cs4227(9)ixgbe_check_cs4227(9)ixgbe_read_i2c_combined_generic(9)ixgbe_read_i2c_combined_generic_unlocked(9)ixgbe_write_i2c_combined_generic(9)ixgbe_fw_phy_activity(9)ixgbe_get_phy_id_fw(9)ixgbe_identify_phy_fw(9)ixgbe_shutdown_fw_phy(9)ixgbe_setup_fw_link(9)ixgbe_fc_autoneg_fw(9)ixgbe_iosf_wait(9)ixgbe_get_phy_token(9)ixgbe_put_phy_token(9)ixgbe_write_iosf_sb_reg_x550a(9)ixgbe_read_iosf_sb_reg_x550a(9)ixgbe_get_bus_info_X550em(9)ixgbe_fw_recovery_mode_X550(9)ixgbe_setup_ixfi_x550em_x(9)ixgbe_restart_an_internal_phy_x550em(9)ixgbe_supported_sfp_modules_X550em(9)ixgbe_setup_mac_link_sfp_x550em(9)ixgbe_setup_sfi_x550a(9)ixgbe_setup_mac_link_sfp_n(9)ixgbe_setup_mac_link_sfp_x550a(9)ixgbe_setup_mac_link_t_X550em(9)ixgbe_setup_sgmii(9)ixgbe_setup_sgmii_fw(9)ixgbe_fc_autoneg_sgmii_x550em_a(9)ixgbe_get_lasi_ext_t_x550em(9)ixgbe_enable_lasi_ext_t_x550em(9)ixgbe_handle_lasi_ext_t_x550em(9)ixgbe_setup_kr_speed_x550em(9)ixgbe_setup_kr_x550em(9)ixgbe_led_on_t_x550em(9)ixgbe_led_off_t_x550em(9)ixgbe_set_fw_drv_ver_x550(9)ixgbe_setup_fc_x550em(9)ixgbe_fc_autoneg_backplane_x550em_a(9)ixgbe_fc_autoneg_fiber_x550em_a(9)ixgbe_reset_phy_fw(9)ixgbe_check_overtemp_fw(9)ixgbe_read_mng_if_sel_x550em(9)ixgbe_set_mdio_speed(9)ixgbe_setup_fc_backplane_x550em_a(9)ixgbe_set_mux(9)ixgbe_acquire_swfw_sync_X550em(9)ixgbe_release_swfw_sync_X550em(9)ixgbe_acquire_swfw_sync_x550em_a(9)ixgbe_release_swfw_sync_x550em_a(9)ixgbe_read_phy_reg_x550a(9)ixgbe_write_phy_reg_x550a(9)ixgbe_enable_mdd_x550(9)ixgbe_disable_mdd_x550(9)ixgbe_restore_mdd_vf_x550(9)ixgbe_handle_mdd_x550(9)
no warnings, no bugs, no funky deprecated notes on this page β it's a clean little write function, so go forth and write combined π«Ά
kisses bestie, that's the whole page π this lil beauty comes from ./drivers/net/ethernet/intel/i... (the source path got cut off with an ellipsis in the original, iconic of it honestly), dated October 2026, and it's filed under ixgbe_write...ric_unlocked(9) β go be the main character of your own I2C bus π
π¦ 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