STRUCT GENI_WRAPPER(9)
π¦ struct geni_wrapper(9) β the Kernel API Manual moment β¨
okay so bestie, we're in the Kernel API Manual today and the star of the show is struct geni_wrapper, which is literally the data structure that represents the QUP Wrapper Core. yes it's a struct page, yes it's short, and yes it still ate π
πΈ NAME πΈ
struct geni_wrapper β the data structure that reps the QUP Wrapper Core, no cap π
β¨ SYNOPSIS β¨
struct geni_wrapper {
struct device *dev;
void __iomem *base;
struct clk_bulk_data clks[MAX_CLKS];
unsigned int num_clks;
};
that's the whole vibe right there π«Ά copy it exactly, don't come for my whitespace, it's canon.
π Members π
devβ the device pointer of the QUP wrapper core, like its little ID badge πͺͺbaseβ the base address for this instance of the QUP wrapper core, iykykclksβ the handle to the primary & the optional secondary AHB clocks β° (both of them, it's giving duality)num_clksβ the count of clocks, aka how many of those clock handles are actually real π’
π₯ SEE ALSO π₯
bestie there are so many of these, buckle up, we're going on a geni_se journey π§ββοΈ
- Kernel file
./drivers/soc/qcom/qcom-geni-se.c Overview(9)Hardware description(9)Software description(9)struct geni_se_desc(9)struct se_fw_hdr(9)geni_se_get_qup_hw_version(9)geni_se_init(9)geni_se_select_mode(9)Overview(9)β yes it's listed again, the page said it twice and I'm not about to gaslight the page π«‘geni_se_config_packing(9)geni_se_resources_off(9)geni_se_resources_on(9)geni_se_clk_tbl_get(9)geni_se_clk_freq_match(9)geni_se_tx_init_dma(9)geni_se_tx_dma_prep(9)geni_se_rx_init_dma(9)geni_se_rx_dma_prep(9)geni_se_tx_dma_unprep(9)geni_se_rx_dma_unprep(9)geni_icc_set_bw_ab(9)geni_se_resources_deactivate(9)geni_se_resources_activate(9)geni_se_set_perf_level(9)geni_se_set_perf_opp(9)geni_se_domain_attach(9)geni_se_resources_init(9)geni_find_protocol_fw(9)geni_configure_xfer_mode(9)geni_enable_interrupts(9)geni_write_fw_revision(9)geni_load_se_fw(9)geni_load_se_firmware(9)
not me listing every single one π but fr fr, every reference is staying, we don't skip entries in this house π
π and that's the page! sign-off time: this whole thing lives under ./drivers/soc/qcom, dated October 2026, and the header/footer were both just struct geni_wrapper(9) cheering itself on. iconic behavior honestly ππ
π¦ 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