STRUCT BRCMFMAC_SDIO_PD(9)
π struct brcmfmac_sdio_pd(9) π
okay bestie, welcome to the Kernel API Manual β¨ this little cutie lives in struct brcmfmac_sdio_pd and it's literally the SDIO Device specific platform data. yes, it's giving "lowkey important struct energy" and honestly? obsessed π«Ά
πΈ NAME πΈ
struct brcmfmac_sdio_pd β SDIO Device specific platform data. periodt π
β¨ SYNOPSIS β¨
struct brcmfmac_sdio_pd {
int txglomsz;
unsigned int drive_strength;
bool oob_irq_supported;
unsigned int oob_irq_nr;
unsigned long oob_irq_flags;
bool broken_sg_support;
unsigned short sd_head_align;
unsigned short sd_sgentry_align;
void (*reset)(void);
};
like, that's the whole vibe right there π¦
π Members π
okay so every single field, no skips, let's go πββοΈπ¨
txglomszβ SDIO txglom size, bestie. Use0if you want the driver's default to be used instead. defaults are iconic, use them πdrive_strengthβ this is the preferred drive_strength to be used for the SDIO pins. If it's0then a default value will be used. and ngl, this is the target drive strength β the exact drive strength which will actually be used depends on the capabilities of the device. so yes, it's giving β¨negotiationβ¨ π«oob_irq_supportedβ does the board have support for OOB interrupts? π real talk: SDIO in-band interrupts are relatively slow, and for having less overhead on interrupt processing an out of band interrupt can be used. If the HW supports this then enable this by setting this field totrueand configure the oob related fields β that meansoob_irq_nr, andoob_irq_flagstoo π₯oob_irq_flagsβ the OOB interrupt information. these values are used for registering the irq using therequest_irqfunction. slay πbroken_sg_supportβ flag for broken sg list support of SDIO host controller π set this totrueif the SDIO host controller has higher align requirement than32bytes for each scatterlist item. yeah. broken is in the name, be careful πsd_head_alignβ alignment requirement for start of data buffer. keep it aligned, queen πsd_sgentry_alignβ length alignment requirement for each sg entry πresetβ this function can get called if the device communication broke down π¬ this functionality is particularly useful in case of SDIO type devices. It's possible to reset a dongle via sdio data interface, but β and this is the important bit β it requires that this is fully functional. This function is chip/module specific and this function should return only after the complete reset has completed. like, no leaving early, finish the reset first, main character energy only π
β οΈ fr fr on that reset note: it must only return once the whole reset is done. don't be out here returning early, bestie π«Ά
π¦ SEE ALSO π¦
- Kernel file
./include/linux/platform_data/brcmfmac.hstructbrcmfmac_pd_cc_entry(9), structbrcmfmac_pd_cc(9), structbrcmfmac_pd_device(9), structbrcmfmac_platform_data(9)
go read the whole squad, iykyk π
and that's the page, bestie! π this came from ./include/linux/platform_data, dated October 2026, and it's the struct brcmfmac_sdio_pd(9) manual page β mwah, stan forever πππ§ββοΈ
π¦ 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