STRUCT TNG_PINCTRL(9)
β¨ NAME β¨
okay so bestie, gather round β this is struct tng_pinctrl from the Kernel API Manual, and it's literally the Tangier pinctrl private structure π yes, the private one, the one the driver keeps for itself, iykyk.
π¦ SYNOPSIS π¦
the whole vibe, in code, no cap β every single field exactly as it is:
struct tng_pinctrl {
struct device *dev;
raw_spinlock_t lock;
struct pinctrl_desc pctldesc;
struct pinctrl_dev *pctldev;
const struct tng_family *families;
size_t nfamilies;
const struct intel_function *functions;
size_t nfunctions;
const struct intel_pingroup *groups;
size_t ngroups;
const struct pinctrl_pin_desc *pins;
size_t npins;
};
π Members π
bestie each of these is a whole personality, let me introduce you:
devβ pointer to the device structure. it's giving "who do i belong to" energy πlockβ the lock that serializes register access. raw spinlock behaviour, main character of the concurrency situation π₯pctldescβ the pin controller descriptionpctldevβ pointer to the pin controller devicefamiliesβ array of the families this pinctrl handles πnfamiliesβ number of families in that array (yes, they travel together, always)functionsβ array of functionsnfunctionsβ number of functions in the arraygroupsβ array of pin groups πΈngroupsβ number of groups in the arraypinsβ array of the pins this pinctrl controls βnpinsβ number of pins in the array
ngl bestie, the pattern is iconic: one pointer to an array, one size_t counting it. every. single. time. she's consistent and we love her for it π«Ά
π SEE ALSO π
- Kernel file
./drivers/pinctrl/intel/pinctrl-tangier.hβ structtng_family(9)β¨
and that's the tea, bestie π this lil legend lives in ./drivers/pinctrl/intel, dated October 2026, in the struct tng_pinctrl(9) era β periodt, go read the header, ily bye ππ§
π¦ 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