e1000_shift_in_eec_bits(9)
π e1000_shift_in_eec_bits β like, the EEPROM bit-shifting one (section 9, Kernel API Manual)
okay bestie, sit down, because this one is actually kind of iconic once you get past the name π
β¨ NAME β¨
e1000_shift_in_eec_bits β shift data bits in from the EEPROM. that's it, that's the whole vibe π
π¦ SYNOPSIS π¦
u16 e1000_shift_in_eec_bits (struct e1000_hw *hw , u16 count );
like yes, it returns a u16 and yes, you pass it a struct e1000_hw * and a u16 count. slay π
πΈ ARGUMENTS πΈ
hwβ pointer to the HW structure. your hardware bestie, your main character struct, the one who knows things πcountβ number of bits to shift in. literally how many bits we're pulling in, no cap π₯
π« DESCRIPTION π«
okay so here's the tea β β in order to read a register from the EEPROM, we need to shift count bits in from the EEPROM. that's the whole mission, that's the assignment π«Ά
and the way bits get "shifted in"? you raise the clock input to the EEPROM β that's setting the SK bit β and then you read the value of the data out DO bit. clock goes up, we peek at DO, rinse, repeat, gorgeous β¨
π¨ important vibe check: during this whole "shifting in" process, the data in the DI bit should always be clear. like, always. do not play with it π
ngl it's giving very "tiny hardware handshake" and honestly? we love her for it π
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/intel/e1000e/nvm.cβ the home base, the source of truth, go read it iykyk π e1000_raise_eec_clk(9)e1000_lower_eec_clk(9)e1000_shift_out_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)e1000e_write_nvm_spi(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)
like, the whole friend group fr fr π
and that's the page!! mwah π this lil doc came from ./drivers/net/ethernet/intel/e..., dated October 2026, and it's filed under e1000_shift_in_eec_bits(9) β stay hydrated, clear your DI bit, and go shift some bits bestie πβ
π¦ 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