STRUCT PINCTRL(9)
π struct pinctrl(9)
okay bestie, welcome to the Kernel API Manual β yes, that's the vibe we're on today β and we're talking about struct pinctrl, aka the per-device pin control state holder. it's literally the little holder thing that keeps track of a device's pin control situation. icon status. π
β¨ NAME β¨
struct pinctrl β per-device pin control state holder π
πΈ SYNOPSIS πΈ
not me about to show you the whole struct, bestie, look:
struct pinctrl {
struct list_head node;
struct device *dev;
struct list_head states;
struct pinctrl_state *state;
struct list_head dt_maps;
struct kref users;
};
yes the formatting is a little crunchy, no we are not fixing it, it's giving "handed down through the generations" π
π¦ Members π¦
every field gets its moment, periodt:
nodeβ the global list node. it's how this thing gets threaded onto the big list. πdevβ the device that's using this pin control handle. main character energy, honestly. πstatesβ a list of states for this device. plural. a whole little collection. β¨stateβ the current state. the one that's actually happening right now. slay. πdt_mapsβ the mapping table chunks that get dynamically parsed from the device tree for this device, if any. note the "if any" β sometimes there just aren't any, and that's fine, we don't judge. π§usersβ the reference count. keep an eye on it or it'll keep an eye on you. π
π₯ SEE ALSO π₯
go read these next, iykwyk:
- Kernel file
./drivers/pinctrl/core.hβ start here, bestie, it's the source of truth π«Ά struct pinctrl_dev(9)struct pinctrl_state(9)struct pinctrl_setting_mux(9)struct pinctrl_setting_configs(9)struct pinctrl_setting(9)struct pin_desc(9)struct pinctrl_maps(9)struct group_desc(9)
and the directory itself: ./drivers/pinctrl β go touch some kernel code π
lowkey a whole family of structs up in here. read them in order, don't skip, i'm watching. π
okay that's the whole page, bestie, and to sign off properly: this one comes from the source <pink>./drivers/pinctrl</pink>, dated **October 2026**, and the manual is struct pinctrl(9)`. no cap, that's literally everything. 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