STRUCT BRCMFMAC_PD_DEVICE(9)
π struct brcmfmac_pd_device(9) π
okay so this is a page from the Kernel API Manual, and honestly? it's a whole vibe. sit down bestie, we're learning about platform data today π
β¨ NAME β¨
struct brcmfmac_pd_device β device specific platform data. literally what it says on the tin π
and the way that (id/rev/bus_type) is the unique identifier of the device? that trio is the main character trio, no cap. those three together are how you know which device you're talking about. periodt.
πΈ SYNOPSIS πΈ
struct brcmfmac_pd_device {
unsigned int id;
unsigned int rev;
enum brcmf_bus_type bus_type;
unsigned int feature_disable;
struct brcmfmac_pd_cc *country_codes;
union {
struct brcmfmac_sdio_pd sdio;
} bus;
};
look at that struct. it's giving organized. it's giving "i know exactly what i'm doing" π¦
π Members π
okay so here's the breakdown of every single field, and yes we're doing all of them because none of them are boring:
idβ the ID of the device that this data is for. and here's the tea: in the case of SDIO or PCIE, this is the chipid as identified bychip.c. in the case of USB, this is the chipid as identified by the device query. same field, two different sources, iykyk πrevβ chip revision. seeid. that's it, that's the whole thing, it's the sibling ofidand they come as a pair fr fr.bus_typeβ the type of bus. and listen, this one matters because some chipid/rev combos exist for different bus types β so the bus type is not just a little detail, it's load-bearing. each bus type has its own set of settings π so don't go mixing them up.feature_disableβ a bitmask of features to disable (override). seefeature.cin brcmfmac for details. that's the pointer, go look at it, i'm not gatekeeping π«Άcountry_codesβ if available, a pointer to the struct for translating country codes. key words: if available. don't come for me if it'sNULL, it's literally conditional πbusβ bus specific (union) device settings. currently only SDIO. so yeah, it's a union with exactly one member right now βsdioβ and that's the whole bus situation as it stands π
β SEE ALSO β
go read these next, they're all in the same neighborhood:
- the kernel file
./include/linux/platform_data/brcmfmac.h struct brcmfmac_sdio_pd(9)struct brcmfmac_pd_cc_entry(9)struct brcmfmac_pd_cc(9)struct brcmfmac_platform_data(9)
ok that's the whole page bestie!! every field, every flag, every "see feature.c" β nothing skipped, nothing dropped π you're basically a brcmfmac expert now, slay π§
and for the cute sign-off: this little beauty lives in ./include/linux/platform_data and the version stamp says October 2026 β so mark your calendar, mwah ππΈ
π¦ 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