STRUCT PCS_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct pcs_data(9) πŸŽ€

okay bestie, welcome to the Kernel API Manual ✨ β€” yes fr fr, this is the actual kernel docs, and this page is about one lil struct that's basically the sidekick holding the pinctrl framework's stuff together πŸ’…


πŸ’– NAME πŸ’–

struct pcs_data β€” a wrapper for the data that the pinctrl framework needs 🫢 like, it's the cute little bag that carries the things ✨


🌸 SYNOPSIS 🌸

struct pcs_data {
    struct pinctrl_pin_desc *pa;
    int cur;
 };

that's it, that's the whole struct, no cap πŸ’€ β€” two members and she's done, main character energy honestly πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • pa β€” the pindesc array πŸ“ (yeah, literally the array of pin descriptors)
  • cur β€” the index pointing at the current element 🎯 like a little bookmark saying "we're here rn"

πŸ’œ Description πŸ’œ

REVISIT: we should be able to drop this eventually 😭 β€” the idea is to add support for registering pins individually in the pinctrl framework, specifically for those drivers that don't need a static array. so like, one day this wrapper can retire and live its best life 🌈 periodt.


✨ SEE ALSO ✨

if you're going down this rabbit hole, bestie, buckle up 🧚 these are all the related things β€” start with the kernel file ./drivers/pinctrl/pinctrl-single.c and then go off:

like, that's a whole friend group right there πŸ˜­πŸ’€ go read 'em all, iykyk πŸ”₯


lowkey a whole serve that this page exists at all β€” go forth and pin things, bestie πŸ«ΆπŸ’–

and that's the tea β˜• β€” this lil number lives in ./drivers/pinctrl, dated October 2026, and it's gonna stay iconic πŸŒŸπŸ’… bye bestie!! πŸŽ€

πŸ“¦ where this page comes from