e1000e_read_phy_reg_bm2(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… e1000e_read_phy_reg_bm2(9)

okay so bestie, welcome to the Kernel API Manual β€” yes we're reading kernel docs for fun now, we contain multitudes πŸŽ€ this one is e1000e_read_phy_reg_bm2, and honestly? iconic little helper. it does exactly one thing and does it adorably.


✨ NAME ✨

e1000e_read_phy_reg_bm2 β€” Read BM PHY register πŸ¦‹

like, literally just "read the BM PHY register". no notes. main character energy.


🌸 SYNOPSIS 🌸

s32 e1000e_read_phy_reg_bm2 (struct e1000_hw *hw , u32 offset , u16
*data );

returns an s32 (status vibes, iykyk), takes a struct e1000_hw *, a u32 offset, and a u16 * where the good stuff lands πŸ’–


πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” pointer to the HW structure. this is your hardware bff, the whole context of the NIC. 🫢
  • offset β€” register offset to be read. yes it's the exact register you want, be precise bestie.
  • data β€” pointer to the read data. it's a u16 *, so what gets read out of the register gets parked in here. πŸ™ˆ

πŸ”₯ DESCRIPTION πŸ”₯

okay so here's the whole plot: it acquires the semaphore, if necessary, then reads the PHY register at offset and stores the retrieved information in data. πŸ“–βœ¨

and the cleanup is the responsible part β€” it releases any acquired semaphores before exiting. no locked semaphores left behind, we don't do that here πŸ’… periodt.

ngl the "if necessary" and "any acquired" wording is doing heavy lifting β€” semaphores only get grabbed when they need to be, and whatever got grabbed gets released. no cap.

πŸ¦‹ SEE ALSO πŸ¦‹

kernel file: ./drivers/net/ethernet/intel/e1000e/phy.c

the whole friend group, in order, no gatekeeping:


🌈 that's the whole page bestie, every flag, every function, every crumb preserved πŸ“

and for the cute sign-off: this lilslice of documentation lives in ./drivers/net/ethernet/intel/e... (the path got truncated in the footer but that's what it says, we respect it πŸ’œ) and it's dated October 2026 β€” future-core of it all ⭐ slay, bye! πŸ‘‘πŸ§šπŸ’–

πŸ“¦ where this page comes from