STRUCT PINCTRL_GPIO_RANGE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct pinctrl_gpio_range πŸŽ€

okay so bestie, welcome to the Kernel API Manual entry for struct pinctrl_gpio_range β€” and it's giving "each pin controller can provide subranges of the GPIO number space to be handled by the controller." πŸ’…βœ¨ Like, that's the whole vibe. Every pin controller can hand off chunks of the GPIO number space for the controller to handle. Periodt.


✨ SYNOPSIS ✨

struct pinctrl_gpio_range {
    struct list_head node;
    const char *name;
    unsigned int id;
    unsigned int base;
    unsigned int pin_base;
    unsigned int npins;
    unsigned int const *pins;
    struct gpio_chip *gc;
 };

🫢 Members 🫢

  • node β€” the list node, bestie. It's for internal use only, so don't make it main character. πŸ™ˆ
  • name β€” a name for the chip in this range. cute little label energy. πŸŽ€
  • id β€” an ID number for the chip in this range. iykyk. πŸͺͺ
  • base β€” the base offset of the GPIO range. like the starting point, no cap. πŸ“
  • pin_base β€” the base pin number of the GPIO range if pins == NULL. yes, conditional icon. πŸ’…
  • npins β€” the number of pins in the GPIO range, including the base number. count 'em, bestie. πŸ”’
  • pins β€” an enumeration of pins in the GPIO range, or NULL. literally either a whole list or nothing. ✨
  • gc β€” an optional pointer to a gpio_chip. optional but iconic. πŸ¦‹

πŸ‘€ SEE ALSO πŸ‘€

Kernel file ./include/linux/pinctrl/pinctrl.h β€” and the whole friend group: struct pingroup(9), struct pinctrl_pin_desc(9), struct pinctrl_ops(9), struct pinctrl_desc(9), and struct pinfunction(9). go read those next, bestie, fr fr. πŸ’–

no cap: the facts stay exactly as they are β€” the vibes are just cuter now. 😭✨

mwah πŸ’‹ this has been your Kernel API Manual moment, sourced from ./include/linux/pinctrl, dated October 2026 β€” slay, bye bestie! 🫢🌈

πŸ“¦ where this page comes from