STRUCT BRCMF_FIRMWARE_MAPPING(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct brcmf_firmware_mapping(9)

okay so first things first bestie, this is a page from the Kernel API Manual β€” section 9, the "kernel API" girlies ✨ β€” and it's all about struct brcmf_firmware_mapping. periodt.


🌸 NAME 🌸

struct brcmf_firmware_mapping β€” bestie, this struct is literally the matchmaker that maps chipid/revmask to a firmware filename and an nvram filename πŸŽ€

And like, the important part: every single bus type implementation should go ahead and create a table of firmware mappings β€” using the macros defined below, iykyk. no cap. πŸ’…


✨ SYNOPSIS ✨

struct brcmf_firmware_mapping {
    u32 chipid;
    u32 revmask;
    const char *fw_base;
 };

look at her. three fields. main character energy. πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • chipid β€” the ID of the chip. that's it, that's the vibe check. 🫢
  • revmask β€” a bitmask of revisions, and the examples are kinda iconic ngl:
    • 0x10 means rev 4 only
    • 0xf means rev 0-3

literally a little bitmask baddie. πŸ”₯

and yes, fw_base is right there in the struct, but the page doesn't hand you a member description for it β€” so I'm not gonna make one up. we stay honest on this blog. πŸ™ˆ

πŸ’– SEE ALSO πŸ’–

  • Kernel file ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h β€” go read the source, it's giving very "the real answers are in the header file" energy. πŸ“šβœ¨

so that's the whole struct, bestie β€” chip id, revision bitmask, firmware base, and a table your bus type implementation is absolutely supposed to build. slay. πŸ’…πŸŒˆ

πŸ’Œ cute sign-off: this one's straight out of ./drivers/net/wireless/broadco..., dated October 2026, and it'll forever be known as struct brcm...ware_mapping(9) (the terminal truncated it, not me, blame the width 😭). bye bestie, happy hacking! πŸŽ€πŸ¦‹πŸ’œ
πŸ“¦ where this page comes from