STRUCT STM32_SAI_DATA(9)
β¨ struct stm32_sai_data(9) β¨
okay bestie, so this is a page from the Kernel API Manual, and it's literally all about struct stm32_sai_data β the private data of the SAI instance driver π
. no cap, that's the whole vibe. let's get into it π
πΈ NAME πΈ
struct stm32_sai_data β private data of SAI instance driver π«Ά
π¦ SYNOPSIS π¦
struct stm32_sai_data {
struct platform_device *pdev;
void __iomem *base;
struct clk *pclk;
struct clk *clk_x8k;
struct clk *clk_x11k;
struct stm32_sai_conf conf;
int irq;
int (*set_sync)(struct stm32_sai_data *sai, struct device_node
*np_provider, int synco, int synci);
u32 gcr;
};
like, yes, that's the whole struct, copied exactly, character for character, because we do NOT mess with the source code in this house π€β¨
π Members π
so here's the breakdown of every single field, bestie, and honestly the way this struct is organized? iconic π
pdevβ device data pointer. it's giving "hey bestie, here's your device" energy π«Άbaseβ common register bank virtual base address. lowkey the home address of all the shared registers πpclkβ SAI bus clock. your everyday bus clock, no drama β°clk_x8kβ SAI parent clock for sampling frequencies multiple of 8kHz. the 8k girlies have their own clock, slay π΅clk_x11kβ SAI parent clock for sampling frequencies multiple of 11kHz. and the 11k girlies too, we love equal representation πconfβ SAI hardware capabitilites. yes that's how it's spelled in the original, i'm not fixing it, that's the author's main character moment πβ¨irqβ SAI interrupt line. the interrupt line is literally standing by to get your attention ππ₯set_syncβ pointer to synchro mode configuration callback. it's a function pointer, so whenever you need the synchro mode configured, it's like "say less" and handles it πgcrβ SAI Global Configuration Register. the global config register, the big boss, the finale ππ
π SEE ALSO π
- Kernel file
./sound/soc/stm/stm32_sai.h struct stm32_sai_conf(9)β the conf struct, which you already met up there in the members list, but now go read its own page π¦
real talk, bestie: this page is short but every field matters, so don't skip the clocks or the callback, iykyk π
mwah, that's the whole page πβ¨ this little beauty lives at ./sound/soc/stm, from October 2026, in the Kernel API Manual, and we're officially done here β go forth and configure your SAI, you icon ππ
π¦ 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