bnx2x_func_init_cmn(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… bnx2x_func_init_cmn(9) β€” Kernel API Manual ✨

okay so bestie, welcome to the bnx2x_func_init_cmn page, straight out of the Kernel API Manual. yes we're in the driver mines today. put your hair up, grab a matcha πŸ“, and let's get into it.


🌸 NAME 🌸

bnx2x_func_init_cmn β€” performs HW init at common stage

like, it does the hardware init but specifically at the common stage, okay? that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

int bnx2x_func_init_cmn (struct bnx2x *bp , const struct
bnx2x_func_sp_drv_ops *drv );

so it returns an int (as one does), takes a struct bnx2x * called bp, and a const struct bnx2x_func_sp_drv_ops * called drv. two pointers, one int, no drama. 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • bp β€” device handle. it's the bnx2x thing you're working with, your main character struct πŸ‘‘
  • drv β€” so bestie… the manpage literally gives us no description here. it's a const struct bnx2x_func_sp_drv_ops * per the synopsis, and that's all the page says. i'm not gonna make something up, that's not the energy πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's what's tea: this function inits the HW when the current phase is FW_MSG_CODE_DRV_LOAD_COMMON_CHIP. yes that exact constant, no substitutions, we don't do that here.

and when it does that, it initializes:

  • the COMMON HW blocks,
  • the PORT-only HW blocks,
  • and the FUNCTION-only HW blocks.

all three, one function, iconic behaviour honestly. ✨


πŸ’œ SEE ALSO πŸ’œ

the kernel file lives at:

./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c

and here's the full friend group, no cap, every single one of them:

(yes __atomic_dec_ifmoe(9) is spelled exactly like that on the page β€” i'm keeping it character for character, don't come for me 😭)


ngl bestie, that reference list is a whole roster. read them all, fr fr. πŸ’€

and that's the page!! 🧚 mwah πŸ’– this one's sourced from ./drivers/net/ethernet/broadco... (yes it's truncated like that on the page, that's just how it is), dated October 2026, and the manual entry is bnx2x_func_init_cmn(9). slay, go init some hardware. πŸ’…βœ¨

πŸ“¦ where this page comes from