STRUCT BRCMF_BUS(9)
π struct brcmf_bus(9) π
okay so bestie, welcome to the Kernel API Manual, we're looking at struct brcmf_bus today and honestly? it's kind of a big deal. this is the interface structure between common and bus layer β the lil middleman that lets the common code and the bus code talk to each other without it being a whole thing. π«Ά
β¨ SYNOPSIS β¨
struct brcmf_bus {
union {
struct brcmf_sdio_dev *sdio;
struct brcmf_usbdev *usb;
struct brcmf_pciedev *pcie;
} bus_priv;
enum brcmf_bus_protocol_type proto_type;
struct device *dev;
struct brcmf_pub *drvr;
enum brcmf_bus_state state;
struct brcmf_bus_stats stats;
uint maxctl;
u32 chip;
u32 chiprev;
enum brcmf_fwvendor fwvid;
bool always_use_fws_queue;
bool wowl_supported;
bool removing;
struct mutex bus_reset_lock;
const struct brcmf_bus_ops *ops;
struct brcmf_bus_msgbuf *msgbuf;
struct list_head list;
};
like, copy that exactly fr fr. no typos, no "fixing" the indentation, we respect the original. π
π Members π
bus_privβ pointer to private bus device. this is a union, so it's one ofsdio,usb, orpciedepending on which bus you're on. pick your fighter. πproto_typeβ protocol type,bcdcormsgbuf. that's the vibe check for which protocol we're speaking.devβ device pointer of bus device.drvrβ public driver information. the main character of the whole show ngl πstateβ operational state of the bus interface.statsβ statistics shared between common and bus layer. receipts, basically πmaxctlβ maximum size forrxctlrequest message.chipβ device identifier of the dongle chip.chiprevβ revision of the dongle chip. (yes, separately. it's giving thorough β¨)fwvidβ firmware vendor-support identifier of the device.always_use_fws_queueβ bus wants use queue also whenfwsignalis inactive.wowl_supportedβ is wowl supported by bus driver. (a question in the original, keeping it a question, we don't editorialize π)opsβ callbacks for this bus instance.msgbufβ msgbuf protocol parameters provided by bus layer.listβ member used to add this bus instance to linked list.
π tiny heads up: the struct up in the synopsis also hasremovingandbus_reset_lockfields, but the Members list doesn't say anything about them. so likeβ¦ they're there, they exist, we're just not making stuff up about them. bestie behavior only. π
πΈ SEE ALSO πΈ
- Kernel file
./drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h struct brcmf_bus_ops(9),struct brcmf_bus_msgbuf(9),struct brcmf_bus_stats(9)
go read those next, they're lowkey the rest of the lore π¦
β and that's the whole page!! source/version is ./drivers/net/wireless/broadco... dated October 2026, page title struct brcmf_bus(9) β slay, go forth and register your bus ππ
π¦ 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