STRUCT FUNNEL_DRVDATA(9)
π« struct funnel_drvdata(9) π«
okay bestie, welcome to the kernel API manual β this one is struct funnel_drvdata, and it's literally the little data bundle that holds all the specifics associated to a funnel component π (yes, that's the NAME section, we're doing this properly).
β¨ SYNOPSIS β¨
struct funnel_drvdata {
void __iomem *base;
struct clk *atclk;
struct clk *pclk;
struct coresight_device *csdev;
unsigned long priority;
raw_spinlock_t spinlock;
};
look at her. six fields. main character energy fr fr π
π«Ά Members π«Ά
baseβ the memory mapped base address for this component. that's her home address, no cap πatclkβ optional clock for the core parts of the funnel. optional!! she's flexible πpclkβ the APB clock if present, otherwiseNULL. so if there's no APB clock, bestie isNULLπcsdevβ component vitals needed by the framework. the framework's lil care package πpriorityβ port selection order. who gets picked first, basically πspinlockβ serialize enable/disable operations. one at a time, please, we're not doing chaos π
π SEE ALSO π
Kernel file ./drivers/hwtracing/coresight/coresight-funnel.c β go read it, iykyk π
ngl this struct is lowkey iconic: clocks, a device pointer, a priority, and a spinlock to keep enable/disable from overlapping. obsessed π¦
ok so this whole thing lives in ./drivers/hwtracing/coresight, and this edition is dated October 2026, page struct funnel_drvdata(9) β catch you in the next manpage, bestie, 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