STRUCT FUNNEL_DRVDATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« 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, otherwise NULL. so if there's no APB clock, bestie is NULL πŸ™ˆ
  • 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