e1000e_write_nvm_spi(9)
β¨ e1000e_write_nvm_spi(9) β¨
okay so bestie, welcome to the Kernel API Manual entry for e1000e_write_nvm_spi β yes it's a mouthful, no you don't have to say it out loud π
this is the lil function that literally writes to your EEPROM using SPI, and we're gonna get into it π
πΈ NAME πΈ
e1000e_write_nvm_spi β write to EEPROM using SPI π¦
β SYNOPSIS β
s32 e1000e_write_nvm_spi (struct e1000_hw *hw , u16 offset , u16 words ,
u16 *data );
like, that's the whole signature, copy it exactly bestie, don't get creative with it π
π ARGUMENTS π
hwβ pointer to the HW structure π this is your main character struct, everything routes through itoffsetβ the offset within the EEPROM you're writing to π like, where the vibes landwordsβ the number of words to write π’ don't skip this onedataβ the 16 bit word(s) that actually get written to the EEPROM π this is the payload, the moment, the content
π DESCRIPTION π
So what does it do? It writes data to the EEPROM at offset using the SPI interface β¨ that's it, that's the function, and honestly? iconic.
π¨ ok but listen β if e1000e_update_nvm_checksum is not called after this function, the EEPROM will most likely contain an invalid checksum π like not a maybe-slight-issue, a most likely invalid checksum. call the checksum update. be a good citizen. periodt.
π SEE ALSO π
the kernel file lives right here: ./drivers/net/ethernet/intel/e1000e/nvm.c π bestie it's all in there, go read it, iykyk
and the whole friend group of related functions:
e1000_raise_eec_clk(9)e1000_lower_eec_clk(9)e1000_shift_out_eec_bits(9)e1000_shift_in_eec_bits(9)e1000e_poll_eerd_eewr_done(9)e1000e_acquire_nvm(9)e1000_standby_nvm(9)e1000_stop_nvm(9)e1000e_release_nvm(9)e1000_ready_nvm_eeprom(9)e1000e_read_nvm_eerd(9)e1000_read_pba_string_generic(9)e1000_read_mac_addr_generic(9)e1000e_validate_nvm_checksum_generic(9)e1000e_update_nvm_checksum_generic(9)e1000e_reload_nvm_generic(9)
and that's the page!! π«Ά this lil doc came from ./drivers/net/ethernet/intel/e... and it's dated October 2026 β so yeah, future vibes, but the API slaps the same πβ¨ go forth and write your EEPROM responsibly, and remember to update that checksum fr fr ππ§π
π¦ 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