STRUCT PINCTRL_PIN_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pinctrl_pin_desc(9) β€” the Kernel API Manual, bestie edition ✨

Okay so real talk, this is a page from the Kernel API Manual (the 9 section, if you're keeping score), and it's about struct pinctrl_pin_desc. Grab a strawberry drink πŸ“, we're doing this.


🌸 NAME 🌸

struct pinctrl_pin_desc β€” so basically, boards and machines out here providing information on their pins, pads, or other muxable units, and they do it in this struct. That's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

struct pinctrl_pin_desc {
    unsigned int number;
    const char *name;
    void *drv_data;
 };

Look at her. Three fields. Iconic. πŸ‘‘


πŸŽ€ Members πŸŽ€

  • number β€” the unique pin number, pulled straight from the global pin number space. One number, one pin, no duplicates, periodt. πŸ”₯
  • name β€” literally just a name for this pin. That's it. That's the field. Give her a name, she deserves one. 🌸
  • drv_data β€” driver-defined per-pin data. And here's the tea: the pinctrl core does not touch this. Not even a little. It's the driver's business, hands off. πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/linux/pinctrl/pinctrl.h
  • struct pingroup(9)
  • struct pinctrl_gpio_range(9)
  • struct pinctrl_ops(9)
  • struct pinctrl_desc(9)
  • struct pinfunction(9)

Go read the whole friend group, they all hang out together. πŸ’œ


🌈 Sign-off 🌈

This lil beauty lives in the source tree at ./include/linux/pinctrl, dated October 2026, and it's page struct pinctrl_pin_desc(9) of the Kernel API Manual. No cap, that's the whole page. Now go define your pins, bestie, you're gonna slay. πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from