STRUCT OWL_PINCTRL_SOC_DATA(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’– struct owl_pinctrl_soc_data(9) ๐Ÿ’–

okay bestie, welcome to the Kernel API Manual โœจ โ€” this is the page for struct owl_pinctrl_soc_data, aka the Actions pin controller driver configuration. it's giving "the big config brain" of the whole owl pin controller situation and honestly it ate. let's get into it ๐Ÿซถ


โœจ NAME โœจ

struct owl_pinctrl_soc_data โ€” Actions pin controller driver configuration ๐ŸŒธ


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

here's the whole struct, exactly as it lives, no cap:

struct owl_pinctrl_soc_data {
    const struct pinctrl_pin_desc *pins;
    unsigned int npins;
    const struct owl_pinmux_func *functions;
    unsigned int nfunctions;
    const struct owl_pingroup *groups;
    unsigned int ngroups;
    const struct owl_padinfo *padinfo;
    unsigned int ngpios;
    const struct owl_gpio_port *ports;
    unsigned int nports;
    int (*padctl_val2arg)(const struct owl_padinfo *padinfo, unsigned
int param, u32 *arg);
    int (*padctl_arg2val)(const struct owl_padinfo *info, unsigned int
param, u32 *arg);
 };

look at her. iconic ๐Ÿ’…


๐ŸŽ€ Members ๐ŸŽ€

okay so this is the part where we meet everyone in the group chat ๐Ÿ’–

  • pins โ€” the array that describes all the pins of the pin controller. every single one. periodt.
  • npins โ€” how many entries live in pins. the headcount, basically ๐Ÿงฎ
  • functions โ€” the array describing all the mux functions of this SoC โœจ
  • groups โ€” the array describing all the pin groups of this SoC ๐ŸŽ€
  • ngroups โ€” number of entries in groups. yup, more counting ๐Ÿ™ˆ
  • padinfo โ€” the array describing the pad info of this SoC ๐ŸŒฟ
  • ngpios โ€” number of pingroups the driver should expose as GPIOs ๐Ÿ‘‘
  • ports โ€” the array describing all the GPIO ports of this SoC ๐Ÿšช
  • nports โ€” number of GPIO ports in this SoC. last count, we swear ๐Ÿ’€
lowkey note: nfunctions shows up in the struct itself up there in the synopsis, but this Members list doesn't give it its own lil description โ€” so we're not gonna invent one, bestie. we report, we don't speculate ๐Ÿ’…

๐Ÿ”ฅ SEE ALSO ๐Ÿ”ฅ

go read these next, they're all linked in the lore:

  • Kernel file ./drivers/pinctrl/actions/pinctrl-owl.h ๐Ÿ“„
  • struct owl_pullctl(9)
  • struct owl_st(9)
  • struct owl_pingroup(9)
  • struct owl_padinfo(9)
  • struct owl_pinmux_func(9)
  • struct owl_gpio_port(9)

and that's the whole page, bestie ๐Ÿฅฐ this one lives down in ./drivers/pinctrl/actions, dated October 2026, and it's filed under struct owl_pinctrl_soc_data(9). slay, go read the driver ๐Ÿ’–โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from