STRUCT OMAP_SSI_CONTROLLER(9)
π NAME π
struct omap_ssi_controller β the OMAP SSI controller data, aka the main character struct of this whole driver era β¨ (this is page struct omap_ssi_controller(9) from the Kernel API Manual, hi bestie π«Ά)
π SYNOPSIS π
okay so here's literally the whole struct, look at her go π
struct omap_ssi_controller {
struct device *dev;
void __iomem *sys;
void __iomem *gdd;
struct clk *fck;
unsigned int gdd_irq;
struct tasklet_struct gdd_tasklet;
struct gdd_trn gdd_trn[SSI_MAX_GDD_LCH];
spinlock_t lock;
struct notifier_block fck_nb;
unsigned long fck_rate;
u32 loss_count;
u32 max_speed;
u32 gdd_gcr;
int (*get_loss)(struct device *dev);
struct omap_ssi_port **port;
#ifdef CONFIG_DEBUG_FS;
struct dentry *dir;
#endif;
};
πΈ Members πΈ
time for the member-by-member vibe check, no skips, we're doing all of them π
devβ the device associated to the controller (HSI controller), her whole identity ngl πͺͺsysβ SSI I/O base address πgddβ GDD I/O base address πfckβ SSI functional clock β°gdd_irqβ IRQ line for GDD β‘gdd_taskletβ bottom half for DMA transfers π§ββοΈ (she does the cleanup work, lowkey iconic)gdd_trnβ array of GDD transaction data for ongoing GDD transfers πlockβ lock to serialize access to GDD π (one at a time bestie, we're civilized)fck_nbβ DVFS notfifier block π’ (spelled exactly like this in the source, we do not gatekeep)fck_rateβ clock rate π¨loss_countβ to follow if we need to restore context or not π (she's keeping receipts)max_speedβ maximum TX speed (Kb/s) set by the clients ποΈgdd_gcrβ SSI GDD saved context ποΈget_lossβ pointer toomap_pm_get_dev_context_loss_count, if any πportβ array of pointers of the ports of the controller πͺβ¨dirβ debugfs SSI root directory π (guarded byCONFIG_DEBUG_FS, that's why she's all wrapped up in the#ifdef)
π¦ SEE ALSO π¦
go read these next bestie, the lore runs deep, iykyk π
Kernel file ./drivers/hsi/controllers/omap_ssi.h and also struct omap_ssm_ctx(9), struct omap_ssi_port(9), struct gdd_trn(9) π
ok that's the whole tour, every single field accounted for, nothing dropped, periodt π
alright bestie, that was struct omap_ssi_controller(9) from the Kernel API Manual β brought to you by ./drivers/hsi/controllers, dated October 2026 πβ mwah, go touch some registers π
π¦ 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