STRUCT BRCMF_FWEH_INFO(9)
π struct brcmf_fweh_info(9) π
okay bestie, welcome to the Kernel API Manual β yes, that Kernel API Manual β and today's main character is struct brcmf_fweh_info, aka the firmware event handling information struct. it's giving "behind the scenes but actually running everything" energy β¨
β¨ NAME β¨
struct brcmf_fweh_info β firmware event handling information. periodt. that's the whole vibe, it's the info hub for handling firmware events π
π¦ SYNOPSIS π¦
struct brcmf_fweh_info {
struct brcmf_pub *drvr;
bool p2pdev_setup_ongoing;
struct work_struct event_work;
spinlock_t evt_q_lock;
struct list_head event_q;
uint event_mask_len;
u8 *event_mask;
const struct brcmf_fweh_event_map *event_map;
uint num_event_codes;
brcmf_fweh_handler_t evt_handler[];
};
look at her. iconic. no cap, this is a lot of members but we're gonna go through every single one, i promise π«Ά
πΈ Members πΈ
p2pdev_setup_ongoingβ lowkey a little status flag: P2P device creation is in progress. that's it, that's the whole job πevent_workβ the event worker. your girl shows up and does the work, literally βevt_q_lockβ the lock for event queue protection. keep it safe, keep it locked π (okay that emoji isn't in the list but the sentiment is fr)event_qβ the event queue itself. the lineup. the group chat backlog πevent_mask_lenβ length ofevent_mask, used to enable firmware events. it's the size tag bestie, don't skip it πevent_maskβ a byte array used in the'event_msgs'iovar command. yes,'event_msgs'β keep that exactly as written, iykyk π₯event_mapβ mapping between fweh event and firmware event, which may be provided by a vendor-specific module for events that need mapping. translator energy π§num_event_codesβ number of firmware events supported by firmware, which does a minimum length check for theevent_mask. this value is to be provided by the vendor-specific module determiningevent_mask_lenand consequently the allocation size forevent_mask. so basically the vendor module is out here deciding sizes, no pressure πevt_handlerβ event handler registry indexed by firmware event code. the little black book of handlers πβ¨
π SEE ALSO π
go read these next, bestie, they're all connected:
- Kernel file
./drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.hπ¦ struct brcm_ethhdr(9)struct brcmf_event(9)struct brcmf_event_msg(9)struct brcmf_fweh_event_map_item(9)struct brcmf_fweh_event_map(9)
ngl this whole page lives in./drivers/net/wireless/broadco...and it's dated October 2026 β so yes, the sources are from the future, and the page is still titledstruct brcmf_fweh_info(9)because she's consistent π
okay that's the whole page, go forth and slay your firmware events πππ
π¦ 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